I do not care anymore. Solved the problem serverside.

On Jan 17, 9:36 pm, "mr.freeze" <[email protected]> wrote:
> I think that selectedIndex will default to 0 if the selected attribute
> is not set explicitly.  The only workaround/hack I can think of is to
> look at the innerHTML to see if it was set explicitly. Maybe something
> like this:
>
>           jQuery("select").each(function(){
>                     var thisSel = jQuery(this);
>                     var oldVal = thisSel.val();
>                     var setzero = 
> this.innerHTML.toLowerCase().indexOf('selected')
> == -1 &&
>                                   this.selectedIndex==0;
>                     thisSel.html(jQuery("option", this).sort(function(a, b) {
>                         return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
>                     }));
>                     if (setzero){
>                       thisSel.attr("selectedIndex",0);
>                     }else{
>                       thisSel.val(oldVal);
>                     }
>                    });
>
> Won't work on IE since it rewrites all of your option elements.
>
> On Jan 17, 2:51 am, mdipierro <[email protected]> wrote:
>
> > I would like to have all select/options automatically sorted client
> > side. Tried this:
>
> > <script>
> > jQuery(document).ready(function(){
> >   jQuery("select").each(function(){
> >      var i = jQuery(this).attr('selectedIndex');
> >      jQuery(this).html(jQuery(this).children("option").sort(function
> > (a,b) {
> >        return (a.text == b.text)?0:((a.text < b.text)?-1:1);
> >       }));
> >       alert(jQuery(this).attr('id')+i);
> >       if(i<0 || i==null)
> >         jQuery(this).children("option:first").attr("selected","selected");
> >   });});
>
> > </script>
>
> > <form>
> > <select id="A">
> > <option>C</option>
> > <option selected="selected">B</option>
> > <option>A</option>
> > </select>
>
> > <select id="C">
> > <option>Z</option>
> > <option>Y</option>
> > <option>X</option>
> > <option>T</option>
> > </select>
> > </form>
>
> > The sorting works but while in the first case B is correctly selected.
> > In the second case Z is selected instead of T.
> > This is because  if(i<0 || i==null) is always false while it should be
> > true for the second select.
> > Any idea of how to fix this?
>
> > Massimo
>
>
-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.


Reply via email to