lunes, julio 11, 2011

Ordenar Alfabéticamente Dropdowns con Javascript

Mediante el uso de Prototype se pueden ordenar alfabéticamente los combos de forma sencilla, para ello usemos el evento onload del body html:

... <body onload="sortAllSelects()"> ...

Definimos la función sortAllSelects:

    function sortAllSelects(){
        $$('select').each(function(e){sortCombo(e);});   
    }

Ahora el one-liner para ordenar el combo:

    function sortCombo(combo){
        $A(combo.options).sort(function(a,b){ return (a.text.toLowerCase() < b.text.toLowerCase() ) ? -1 : 1; }).each(function(e, i){combo.options[i] = new Option(e.text, e.value, false, e.selected);});       
    }

Esto funciona tanto en Firefox como en IE.







No hay comentarios.:

Publicar un comentario