所以我有一个包含几个jQuery插件的页面。除了其他东西,我有多选工具栏,一个非常甜蜜的插件。问题是,当我在Internet Explorer中加载页面时,页面中断。当我尝试将一些属性设置为动态生成的某些元素时,我已经能够确定问题出现了。
这是生成元素的代码:
$.ajax({
url: '@Url.Content("~")' + 'Ticket/GetTvrtke',
async: false,
success: function (data) {
document.getElementById("header_tvrtka_holder").innerHTML = data;
var tvrtke = data.split(", ");
for (var i = 0; i < tvrtke.length; i++) {
document.getElementById("KlijentMultiSelect").innerHTML +=
"<option value=\"" + tvrtke[i] + "\" id=\"" + tvrtke[i] + "\" >" + tvrtke[i] + "</option>";
}
$("#KlijentMultiSelect").multiselect({
selectedText: "",
height: 125,
minWidth: 650,
noneSelectedText: 'Izaberite željene tvrtke:'
});
}
});
该函数获取正确的数据并生成选项,然后我激活插件以使用复选框呈现新的下拉菜单。
问题是之后我有这个代码:
var tvrtke = document.getElementById("header_tvrtka_holder").innerHTML.split(", ");
for (var i = 0; i < tvrtke.length; i++) {
document.getElementById("ui-multiselect-" + tvrtke[i]).checked = true;
}
for (var i = 0; i < tvrtke.length; i++) {
document.getElementById("ui-multiselect-" + tvrtke[i]).setAttribute("onclick", "ChangeTextKlijent()");
}
这里我试图将复选框值设置为true并将click事件添加到input元素,但是visual studio会从标题中向我发送错误消息。在Firefox中,一切都很好,但IE是一个完全不同的故事。
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
我切换了以便我的代码看起来像这样:
var tvrtke = document.getElementById("header_tvrtka_holder").innerHTML.split(", ");
$.each(tvrtke, function (index, value) {
$("#KlijentMultiSelect").append("<option value=\"" + value + "\" id=\"" + value + "\" >" + value + "</option>");
});
现在可行。