【发布时间】:2015-05-13 04:11:45
【问题描述】:
我正在使用来自 http://www.bulgaria-web-developers.com/projects/javascript/selectbox/ 的选择框 jQuery 插件。
我还有一个 js 文件中的链接,其中包含以下代码:
function loadTeams() {
var responseArray, optionsOutput = '';
$.ajax({
type: "GET",
url: "/ajax/team",
dataType: "json",
success: function (response) {
responseArray = response.array;
for (var i = 0; i < responseArray.length; i++) {
optionsOutput += '<option value="' + responseArray[i] + '">' + responseArray[i] + '</option>';
}
$("#teamSelect").find('option')
.remove()
.end()
.append(optionsOutput);
$("#teamSelect").selectbox({ speed: 100 });
},
error: function (xhr, ajaxOptions, thrownError) {
$("#teamSelect").find('option')
.remove()
.end()
.append('<option value=""></option>');
}
});
}
这在除 IE 之外的所有浏览器中都可以正常工作。在那里,我得到:
SCRIPT438:对象不支持属性或方法“选择框” globals.js,第 38 行字符 4
这相当于下面一行:
$("#teamSelect").selectbox({ speed: 100 });
我尝试过甚至像将整个 jQuery 插件 js 文件复制到 globals.js 这样戏剧性和丑陋的方法,但我仍然得到错误。
什么给了?
编辑 - 更新:我尝试将 #teamSelect 分配给 var 并调用 var.selectbox,但我遇到了同样的错误。
【问题讨论】:
-
这在除 IE 之外的所有浏览器中都能正常工作 => 这真是令人震惊! :D 看看我的头像,如果可以的话,我建议你在网站上使用我的头像 :D
-
您能否在调用 selectbox 之前确认 $("#teamSelect") 已定义?此时控制台中是否显示任何其他错误消息?
-
IE 控制台中没有其他错误,并且 teamSelect 选择框是静态 HTML 的一部分。 jQuery 选择框插件是在 jQuery 之后和 loadTeams 之前定义的。 loadTeams 触发 onload。
-
您是否碰巧使用 localhost URL 对其进行了测试?如果是这样,请尝试使用您的计算机名称。
标签: jquery internet-explorer drop-down-menu