Tengo un cuadro de selección en un formulario, que lleva un atributo rel incremental. Tengo una función que puede ordenar las opciones por su valor .text(), en orden alfabético.Selección Cuadro de selección con jQuery
Mi pregunta es, con jQuery, ¿cómo puedo ordenar en orden ascendente usando el atributo rel?
<option rel="1" value="ASHCHRC">Ashchurch for Tewkesbury </option>
<option rel="2" value="EVESHAM">Evesham </option>
<option rel="3" value="CHLTNHM">Cheltenham Spa </option>
<option rel="4" value="PERSHOR">Pershore </option>
<option rel="5" value="HONYBRN">Honeybourne </option>
<option rel="6" value="MINMARS">Moreton-in-Marsh </option>
<option rel="7" value="GLOSTER">Gloucester </option>
<option rel="8" value="GTMLVRN">Great Malvern </option>
<option rel="9" value="MLVRNLK">Malvern Link </option>
my sort function: var object; puede ser uno de muchos cuadros de selección en todo el formulario.
$(object).each(function() {
// Keep track of the selected option.
var selectedValue = $(this).val();
// sort it out
$(this).html($("option", $(this)).sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}));
// Select one option.
$(this).val(selectedValue);
});
Si el rel siempre va a ser numérico, que deberían poner 'parseInt()' - de lo contrario el orden sería '1,10 , 11,12,2,3,4 ... ' –
¿cómo implementaría parseInt() en la función anterior? – Deano
@Deano actualizó la respuesta –