我正在尝试这个例子http://jsfiddle.net/pmrotule/w7aakdbb/54/
我得到了这个例外
0x800a138f - JavaScript运行时错误:无法获取属性' fn'未定义或空引用。 和 0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法' multlectlect' 。 它在bootstarp-multiselect.js
中抛出错误$.fn.multiselect = function(option, parameter, extraOptions) {
return this.each(function() {
var data = $(this).data('multiselect');
var options = typeof option === 'object' && option;
// Initialize the multiselect.
if (!data) {
data = new Multiselect(this, options);
$(this).data('multiselect', data);
}
// Call multiselect method.
if (typeof option === 'string') {
data[option](parameter, extraOptions);
if (option === 'destroy') {
$(this).data('multiselect', false);
}
}
});
};
我的HTML代码:
<script src="~/Scripts/bootstrap-multiselect.js"></script>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<link href="~/Content/bootstrap-multiselect.css" rel="stylesheet" />
<script src="~/Scripts/bootstrap.js"></script>
<select id="ddlCars" multiple="multiple">
<option value="Accord">Accord</option>
<option value="Duster">Duster</option>
<option value="Esteem">Esteem</option>
<option value="Fiero">Fiero</option>
</select>
<script>
$('#ddlCars').multiselect();
</script>
我在VS2013中使用ASP.NET MVC项目。 在那里我得到了这个例外 我是JS和BootStarp的新手。
答案 0 :(得分:4)
更正脚本的顺序,jQuery js应该是第一个加载的,因为bootstrap.js
和bootstrap-multiselect.js
取决于jquery js
。
<link href="~/Content/bootstrap-multiselect.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap-multiselect.js"></script>
答案 1 :(得分:1)
错误说的是$
尚未定义(在执行bootstarp-multiselect.js期间),因为您需要先加载jQuery。
由于bootstrap-multiselect.js
可以依赖于引导程序,因此在bootstrap.js
之前加载bootstrap-multiselect.js
也不会造成伤害。
所以:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap-multiselect.js"></script>
...
答案 2 :(得分:0)
包含javascript文件的顺序错误,应首先包含jQuery文件。