这是一个演示该问题的 jsFiddle。看看什么时候重新排序。主 select="selected" 没有被选中。http://jsfiddle.net/zuuyj/
我有一个选择框,我使用这个脚本进行排序
$(document).ready(function () {
var options = $('select.pca31 option');
var arr = options.map(function(_, o) {
return {
t: $(o).text(),
v: o.value
};
}).get();
arr.sort(function(o1, o2) {
return o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0;
});
options.each(function(i, o) {
console.log(i);
o.value = arr[i].v;
$(o).text(arr[i].t);
});
这工作正常,直到您有一个选定的选项(编辑项),选定的选项不显示为选中,因为它重新排序列表。
我试过这个
$("select.pca31 option").empty().append( options );
基于此
按值对 Html Select 的选项进行排序的最有效方法是什么,同时保留当前选定的项目?
但我只是得到一个无限循环。我知道为什么,但我不知道如何解决它。