SO - 17562100
by Arun P Johny
HTML
<select multiple>
<option>9 EE</option>
<option>9 1/2 EE</option>
<option>10 EE</option>
<option>10 1/2 EE</option>
<option>11 EE</option>
<option>11 1/2 EE</option>
<option>9 EEEE</option>
<option>9 1/2 D</option>
<option>9 1/2 EEEE</option>
<option>10 EEEE</option>
<option>10 1/2 EEEE</option>
<option>11 EEEE</option>
<option>9 D</option>
<option>11 1/2 EEEE</option>
<option>10</option>
</select>
CSS
select {
height:600px;
}
JavaScript
$("select").html($("option").sort(function (a, b) {
return nomalize(a.text) < nomalize(b.text) ? -1 : 1;
}));
function nomalize(val){
var parts = val.split(' '), op = '';
op = parts[0].length == 1 ? '0' + parts[0] : parts[0];
if(parts.length > 1){
if(/[a-z]/i.test(parts[1])){
op += '0/0' + parts[1];
} else {
op += parts[1]
}
}
op += parts.length > 2 ? parts[2] : '';
return op;
}