これは、問題を示す 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 のオプションを値で並べ替える最も効率的な方法は何ですか?
しかし、私は無限ループを取得します。理由はわかりますが、それを修正する方法がわかりません。