我添加了一个脚本来自动按字母顺序重新排序下拉项,但是它在IE中不起作用(在IE9中测试)。它可以在其他浏览器中工作,请参见以下内容:
<select class='whatever'>
<option value='e'>Hello</option>
<option value='c'>Banana</option>
<option value='d'>Sugar Cane</option>
<option value='b'>Palm Oil</option>
<option value='a'>Apple</option>
</select>
<script>
var options = $('select.whatever 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);
});
</script>
你可以在这里看到一个演示版本:http://jsfiddle.net/jelane20/eQR3C/
谢谢你的帮助!
可能是由于控制台未定义。你能暂时把console.log注释掉吗?在你的js上面有下面的代码来全局处理这个问题。
if (!window.console) {
window.console = {
log: function(obj){}
};
}