Domanda

Di seguito è riportato il codice HTML

<select name="name" id="id">
    <option value="1">ZZZ</option>
    <option value="1">PPP</option>
    <option value="1">SSS</option>
    <option value="1">AAA</option>
</select>

Voglio che questa casella di selezione si ordina in base al di sotto.

<select name="name" id="id">
        <option value="1">AAA</option>
        <option value="1">PPP</option>
        <option value="1">SSS</option>
        <option value="1">ZZZ</option>
</select>

Sto usando mootools1.2 come il mio JS cornice di lavoro.

Grazie
Avinash

È stato utile?

Soluzione

Forse c'è un modo migliore per fare questo, ma le seguenti opere;

var values = [];
$('selectList').getElements('option').each(function(elem) {
    values.push(elem.get('text'));
});

values.sort();

$('selectList').empty();
$each(values, function(value) {
    new Element('option')
        .set('text', value)
        .inject($('selectList'));
});


<form>
    <select id="selectList">
        <option>b</option>
        <option>c</option>
        <option>a</option>
    </select>
</form>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top