按值属性排序选择选项使用jQuery

嗯,标题说明了一切。 我正在做的是创建一个特色产品模块。 使用JSON填充下拉列表的大小,我使用把手来渲染html。 我无法控制JSON文件。 我尝试按选项标签中的实际文本对选项值进行排序,但我意识到之后选项值是错误的。 所以现在我试图通过它们的值属性对选项进行排序,但还没有想出来。 我想做这样的事情:

var selectList = $('#featuredSelectField option'); var newList = []; var theNewNew = []; for(var i=0; i<selectList.length; i++){ newList[i]=(selectList[i].value); } newList.sort(); for(var i=0; i<newList.length; i++){ theNewNew[i] = $('#featuredSelectField option[value="'+newList[i]+'"]'); selectList[i] = theNewNew[i]; } 

这是html:

  Select an option Size 5.5 - $111.99 Size 5 - $111.99 Size 10 - $111.99 Sold Out Size 7 - $111.99 Size 6.5 - $111.99 Size 6 - $111.99 Size 9 - $111.99 Size 8.5 - $111.99 Size 8 - $111.99 Size 4.5 - $111.99 Size 7.5 - $111.99 Size 9.5 - $111.99 Size 4 - $111.99  

 var selectList = $('#featuredSelectField option'); selectList.sort(function(a,b){ a = a.value; b = b.value; return ab; }); $('#featuredSelectField').html(selectList); 

在这里,您可以找到一个演示并将结果与​​原始结果进行比较: http : //jsfiddle.net/74c2M/3/

在这里您可以找到正确的代码: http : //jsfiddle.net/74c2M/4/

祝好运 !