重新排序下拉项目脚本在IE中不起作用

时间:2014-07-17 13:05:03

标签: jquery

我添加了一个脚本来按字母顺序自动重新排序下拉项,但是它在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/

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

可能由于未定义控制台。你现在可以尝试评论出console.log吗?在您的js之上使用以下代码来全局处理此问题。

if (!window.console) { 
    window.console = {
        log: function(obj){}
    };
}