设置检查状态时,object为null

时间:2013-01-23 16:52:15

标签: javascript jquery html internet-explorer

所以我有一个包含几个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是一个完全不同的故事。

任何人都知道如何解决这个问题?

1 个答案:

答案 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>");
});

现在可行。