我有一个非常开放的问题。我知道如何按值和按字母顺序通过jQuery对下拉列表进行排序。但有没有办法将其排序为自定义订单,这不是按价值或按字母顺序排列的?
答案 0 :(得分:1)
您可以添加数据顺序属性,然后使用该值对选项进行排序:
DEMO:http://jsfiddle.net/kpt19djr/1/
<select id="test">
<option data-order="7">opt 1</option>
<option data-order="4">opt 2</option>
<option data-order="1">opt 3</option>
<option data-order="5">opt 4</option>
<option data-order="6">opt 5</option>
<option data-order="2">opt 6</option>
<option data-order="3">opt 7</option>
</select>
JS:
$("#test").html($("#test option").val(function(){
return $(this).data('order');
}).sort(function (a, b) {
var a = parseInt(a.value,10), b = parseInt(b.value,10);
return a < b ? -1 : 1;
}));
答案 1 :(得分:0)
添加其他字段以捕获排序顺序意图,按该字段排序,并隐藏视图中的字段...