Tri numérique sur select avec valeurs alpha-numérique

« Page précédente
0

*À DÉVELOPPER*

 

function sortSelect(selElem) { var tmpAry = new Array(); for (var i=0;i<selElem.options.length;i++) { tmpAry[i] = new Array(); tmpAry[i][0] = selElem.options[i].text; tmpAry[i][1] = selElem.options[i].value; var test = 0;

if( String(selElem.options[i].text).search(/\d/) >= 0 ){ var str = selElem.options[i].text; if( str.search(/\ /) >= 0 ) str = str.substr( str.search(/\d/), str.search(/\ /) ); test = parseFloat(String(str).replace( /[^\d.]/g, '' )); //if( !test ) //console.log(test + ' - ' + selElem.options[i].text); }else{ test = 0; } if( selElem.options[i].value == "-1" ) test = -9999999999; tmpAry[i][2] = test; }

tmpAry.sort(function(a,b){ return a[2]-b[2]; });

while (selElem.options.length > 0) { selElem.options[0] = null; } for (var i=0;i<tmpAry.length;i++) { var op = new Option(tmpAry[i][0], tmpAry[i][1]); selElem.options[i] = op; } return; } if( document.getElementById('selOutilAttribute') ) sortSelect( document.getElementById('selOutilAttribute') );

Posté par William
Posée le 6 octobre 2015 9 h 44 min
36 vues
    « Page précédente