0

所以我有一个页面有几个 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 并向输入元素添加点击事件,但随后 Visual Studio 将标题中的错误消息发送给我。在 Firefox 中,一切都很好,但 IE 则完全不同。

有人知道怎么修这个东西吗?

4

1 回答 1

0

我切换了,所以我的代码看起来像这样:

var tvrtke = document.getElementById("header_tvrtka_holder").innerHTML.split(", ");

$.each(tvrtke, function (index, value) {
    $("#KlijentMultiSelect").append("<option value=\"" + value + "\" id=\"" + value + "\" >" + value + "</option>");
});

现在它可以工作了。

于 2013-12-11T12:37:42.420 回答