所以我有一对<select>
框,并有一个 jQuery 脚本将选定<option>
的 s 从一个选择框传输到另一个选择框。我也有一个相反的功能。这很好用,除非当我将 s “放回”<option>
到第一个<select>
时,它们被附加到底部,而不是像以前那样按字母顺序。
所以我发现这个功能是由这个问题提供的:
function sortSelect() {
var options = $('#inactiveTickers 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);
});
}
然后我有这个 jQuery,它捕获带有 id 的链接上的点击事件#remove
:
$('#remove').click(function() {
return !$('#activeTickers option:selected').remove().appendTo('#inactiveTickers');
sortSelect();
});
所以函数中的第一行是移动<option>
标签,第二行应该调用sortSelect
函数。问题是我认为没有sortSelect
调用该函数(控制台日志中没有任何内容,该函数应该写入它)。我的代码有什么问题?