我正在使用 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: Object doesn't support property or method 'selectbox' globals.js, line 38 character 4
这相当于以下行:
$("#teamSelect").selectbox({ speed: 100 });
我什至尝试过将整个 jQuery 插件 js 文件复制到 globals.js
中这样戏剧性且丑陋的方法,但我仍然收到错误。
什么给了?
编辑 - 更新:我尝试将 #teamSelect
分配给 var
并调用 var.selectbox
,但我得到了同样的错误。
最佳答案
啊哈,问题是 jQuery 的选择框插件(可能是 jQuery 本身)和 Foundation 4 之间的冲突。当我集成 Foundation 4 时,我按照他们网站上的示例进行操作,该示例让我复制并粘贴了这个神秘的位:
<script>
document.write('<script src=' +
('__proto__' in {} ? '/js/vendor/zepto' : '/js/vendor/jquery') +
'.js><\/script>');
</script>
这是加载 zepto 或 jquery,然后我从 Google CDN 加载 jquery。删除这一行并放置我的 jQuery Google CDN 首先解决了冲突。
关于jquery - 对象不支持属性或方法 'selectbox',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869414/