我有一个{J}添加的<select>
,
它通过$.ajax
调用返回类(值+数据)列表中的所有选项,并将其加载到div。
我的代码:
varTempDiv+= '<select class="selectFromList" width="200">';
$.each(data.d, function (index) {
varTempDiv+= '<option value="' + this.value >+ '">' + this.txtName + '</option>';
});
varTempDiv+= '</select>';
$("#loadedDiv").html(varTempDiv);
它在chrome中工作得很好, 但是在ie8中它冻结到了第二个附加到列表长度。 长度从100到1000多个项目开始。
我该如何解决这个问题? 谢谢!
答案 0 :(得分:1)
尝试使用原生for
循环代替jQuery.each
。它应该会给您带来显着的性能提升,特别是如果您的阵列中有这么多项目。看看这个比较http://jsperf.com/jquery-each-vs-for-loop/69。
答案 1 :(得分:0)
如果您更改
会发生什么varTempDiv+= '<option value="' + this.value >+ '">' + this.txtName + '</option>';
到
varTempDiv+= '<option value="' + this.value + '">' + this.txtName + '</option>';
选择中的千件物品似乎也无法使用,也许你应该考虑不同的设计。