Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > cleanup a select/options list - remove same items.

Reply
Thread Tools

cleanup a select/options list - remove same items.

 
 
Beholder
Guest
Posts: n/a
 
      01-21-2007
I hope that someone can help me with the following:

Short background explenation:
I have a shrfepoint page (newform.aspx) in a item list. On this page is
a lookup column that displays a lookup of all category items in
previous items. In the code this results in a select/options list like
this:

<SELECT TABINDEX=1
NAME="urn:schemas-microsoft-comfficeffice#CatLookup"><OPTION
Value="">(None)</OPTION><OPTION VALUE="8">name 1</OPTION><OPTION
VALUE="10">name 2</OPTION>><OPTION VALUE="11">name 1</OPTION></SELECT>

Is there a way to clean-up or rewrite this select list before it is
published and remove the double entry using javascript?

 
Reply With Quote
 
 
 
 
Bart Van der Donck
Guest
Posts: n/a
 
      01-22-2007
Beholder wrote:

> Short background explenation:
> I have a shrfepoint page (newform.aspx) in a item list. On this page is
> a lookup column that displays a lookup of all category items in
> previous items. In the code this results in a select/options list like
> this:
>
> <SELECT TABINDEX=1
> NAME="urn:schemas-microsoft-comfficeffice#CatLookup"><OPTION
> Value="">(None)</OPTION><OPTION VALUE="8">name 1</OPTION><OPTION
> VALUE="10">name 2</OPTION>><OPTION VALUE="11">name 1</OPTION></SELECT>
>
> Is there a way to clean-up or rewrite this select list before it is
> published and remove the double entry using javascript?


To clean up:

-----------------------------------------

<form>
<select tabindex="1"
name="urn:schemas-microsoft-comfficeffice#CatLookup">
<option value="">(None)</option>
<option value="8">name 1</option>
<option value="10">name 2</option>
<option value="11">name 1</option>
</select>
</form>
<script type="text/javascript">
var S =
document.forms[0].elements['urn:schemas-microsoft-comfficeffice#CatLookup'];
while (S.options.length) S.options[0] = null;
</script>

-----------------------------------------

To rewrite the options "without double entries":

-----------------------------------------

<form>
<select tabindex="1"
name="urn:schemas-microsoft-comfficeffice#CatLookup">
<option value="">(None)</option>
<option value="8">name 1</option>
<option value="10">name 2</option>
<option value="11">name 1</option>
</select>
<input type=submit>
</form>
<script type="text/javascript">
var N = new Object();
var S =
document.forms[0].elements['urn:schemas-microsoft-comfficeffice#CatLookup'];
while (S.options.length) {
if (!N[S.options[0].text]) N[S.options[0].text] = S.options[0].value;
S.options[0] = null;
}
for (i in N) S.options[S.length] = new Option(i,N[i]);
</script>

-----------------------------------------

I define "removing double entries" as "removing options with the same
text" which is probably what you meant. The usual naming is <option
value="[VALUE]">[TEXT]</option>. The criterium that is used to remove
is not case sensitive.

When deleting a double entry, the one that comes first is kept with its
(albeit unique) value. If you want the last one to be kept, change
if (!N[S.options[0].text]) N[S.options[0].text] = S.options[0].value;
into
N[S.options[0].text] = S.options[0].value;

Do you really need a name as
"urn:schemas-microsoft-comfficeffice#CatLookup" for the select ? I
would counsel to change it into something shorter and more
alphanumericaloid.

There is a syntax error in your code at the double >> (at </OPTION>>).

Hope this helps,

--
Bart

 
Reply With Quote
 
 
 
 
Beholder
Guest
Posts: n/a
 
      01-22-2007
Thank you Bart,

I will try your suggestions asap. Thanks for your clear comments and
suggestions.

As for the select name, this is the default naming which is used by
sharepoint. It has given me a hard time too when taking this nam up in
ie javascript code. It cannot be changed.

Bart Van der Donck schreef:
> Beholder wrote:
>
> > Short background explenation:
> > I have a shrfepoint page (newform.aspx) in a item list. On this page is
> > a lookup column that displays a lookup of all category items in
> > previous items. In the code this results in a select/options list like
> > this:
> >
> > <SELECT TABINDEX=1
> > NAME="urn:schemas-microsoft-comfficeffice#CatLookup"><OPTION
> > Value="">(None)</OPTION><OPTION VALUE="8">name 1</OPTION><OPTION
> > VALUE="10">name 2</OPTION>><OPTION VALUE="11">name 1</OPTION></SELECT>
> >
> > Is there a way to clean-up or rewrite this select list before it is
> > published and remove the double entry using javascript?

>
> To clean up:
>
> -----------------------------------------
>
> <form>
> <select tabindex="1"
> name="urn:schemas-microsoft-comfficeffice#CatLookup">
> <option value="">(None)</option>
> <option value="8">name 1</option>
> <option value="10">name 2</option>
> <option value="11">name 1</option>
> </select>
> </form>
> <script type="text/javascript">
> var S =
> document.forms[0].elements['urn:schemas-microsoft-comfficeffice#CatLookup'];
> while (S.options.length) S.options[0] = null;
> </script>
>
> -----------------------------------------
>
> To rewrite the options "without double entries":
>
> -----------------------------------------
>
> <form>
> <select tabindex="1"
> name="urn:schemas-microsoft-comfficeffice#CatLookup">
> <option value="">(None)</option>
> <option value="8">name 1</option>
> <option value="10">name 2</option>
> <option value="11">name 1</option>
> </select>
> <input type=submit>
> </form>
> <script type="text/javascript">
> var N = new Object();
> var S =
> document.forms[0].elements['urn:schemas-microsoft-comfficeffice#CatLookup'];
> while (S.options.length) {
> if (!N[S.options[0].text]) N[S.options[0].text] = S.options[0].value;
> S.options[0] = null;
> }
> for (i in N) S.options[S.length] = new Option(i,N[i]);
> </script>
>
> -----------------------------------------
>
> I define "removing double entries" as "removing options with the same
> text" which is probably what you meant. The usual naming is <option
> value="[VALUE]">[TEXT]</option>. The criterium that is used to remove
> is not case sensitive.
>
> When deleting a double entry, the one that comes first is kept with its
> (albeit unique) value. If you want the last one to be kept, change
> if (!N[S.options[0].text]) N[S.options[0].text] = S.options[0].value;
> into
> N[S.options[0].text] = S.options[0].value;
>
> Do you really need a name as
> "urn:schemas-microsoft-comfficeffice#CatLookup" for the select ? I
> would counsel to change it into something shorter and more
> alphanumericaloid.
>
> There is a syntax error in your code at the double >> (at </OPTION>>).
>
> Hope this helps,
>
> --
> Bart


 
Reply With Quote
 
Beholder
Guest
Posts: n/a
 
      01-22-2007
After days of searching and reading about javascript, you just made my
day <big smile>

It works.

Thansk you so much...

Peter


Beholder schreef:
> Thank you Bart,
>
> I will try your suggestions asap. Thanks for your clear comments and
> suggestions.
>
> As for the select name, this is the default naming which is used by
> sharepoint. It has given me a hard time too when taking this nam up in
> ie javascript code. It cannot be changed.
>
> Bart Van der Donck schreef:
> > Beholder wrote:
> >
> > > Short background explenation:
> > > I have a shrfepoint page (newform.aspx) in a item list. On this page is
> > > a lookup column that displays a lookup of all category items in
> > > previous items. In the code this results in a select/options list like
> > > this:
> > >
> > > <SELECT TABINDEX=1
> > > NAME="urn:schemas-microsoft-comfficeffice#CatLookup"><OPTION
> > > Value="">(None)</OPTION><OPTION VALUE="8">name 1</OPTION><OPTION
> > > VALUE="10">name 2</OPTION>><OPTION VALUE="11">name 1</OPTION></SELECT>
> > >
> > > Is there a way to clean-up or rewrite this select list before it is
> > > published and remove the double entry using javascript?

> >
> > To clean up:
> >
> > -----------------------------------------
> >
> > <form>
> > <select tabindex="1"
> > name="urn:schemas-microsoft-comfficeffice#CatLookup">
> > <option value="">(None)</option>
> > <option value="8">name 1</option>
> > <option value="10">name 2</option>
> > <option value="11">name 1</option>
> > </select>
> > </form>
> > <script type="text/javascript">
> > var S =
> > document.forms[0].elements['urn:schemas-microsoft-comfficeffice#CatLookup'];
> > while (S.options.length) S.options[0] = null;
> > </script>
> >
> > -----------------------------------------
> >
> > To rewrite the options "without double entries":
> >
> > -----------------------------------------
> >
> > <form>
> > <select tabindex="1"
> > name="urn:schemas-microsoft-comfficeffice#CatLookup">
> > <option value="">(None)</option>
> > <option value="8">name 1</option>
> > <option value="10">name 2</option>
> > <option value="11">name 1</option>
> > </select>
> > <input type=submit>
> > </form>
> > <script type="text/javascript">
> > var N = new Object();
> > var S =
> > document.forms[0].elements['urn:schemas-microsoft-comfficeffice#CatLookup'];
> > while (S.options.length) {
> > if (!N[S.options[0].text]) N[S.options[0].text] = S.options[0].value;
> > S.options[0] = null;
> > }
> > for (i in N) S.options[S.length] = new Option(i,N[i]);
> > </script>
> >
> > -----------------------------------------
> >
> > I define "removing double entries" as "removing options with the same
> > text" which is probably what you meant. The usual naming is <option
> > value="[VALUE]">[TEXT]</option>. The criterium that is used to remove
> > is not case sensitive.
> >
> > When deleting a double entry, the one that comes first is kept with its
> > (albeit unique) value. If you want the last one to be kept, change
> > if (!N[S.options[0].text]) N[S.options[0].text] = S.options[0].value;
> > into
> > N[S.options[0].text] = S.options[0].value;
> >
> > Do you really need a name as
> > "urn:schemas-microsoft-comfficeffice#CatLookup" for the select ? I
> > would counsel to change it into something shorter and more
> > alphanumericaloid.
> >
> > There is a syntax error in your code at the double >> (at </OPTION>>).
> >
> > Hope this helps,
> >
> > --
> > Bart


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
remove a list from a list Rares Vernica Python 1 11-20-2006 07:32 PM
Re: remove a list from a list Rares Vernica Python 4 11-17-2006 09:22 PM
Walking thru a STL list and remove element at the same time? Allerdyce.John@gmail.com C++ 5 02-08-2006 11:51 AM
How to remove items from add/remove list please Caractucus Potts Computer Support 5 07-03-2005 10:31 PM
Add-Remove Cleanup Gravydownshirt Computer Support 2 11-08-2003 12:12 PM



Advertisments