以下针对 ASP.NET MVC 4 的代码在 Firefox 和 Chrome 上正常工作(页面加载没有错误,下拉列表显示/响应正确),但是 IE10 在页面加载时抛出以下内容:
> 0x800a01b6 - JavaScript 运行时错误:对象不支持“选择”的属性或方法
这是 SELECT html 标记:
<select class="chzn-select" data-placeholder="Group" name="Group">
@foreach(var group in @Model.Groups)
{
<option value="@group">@group</option>
}
</select>
以及它下面的JavaScript:
<script type="text/javascript">
$(function () {
$(".chzn-select").chosen();
});
</script>
我已将 selected.css 和 selected.*.js 文件添加到适当的样式和脚本包中,然后将它们包含在我的母版页中。
(页面请求上的开发工具屏幕)
此外,我尝试使用 select2 并在 IE 中遇到相同的错误,其他浏览器运行正常。(我更新了捆绑包以包含对 .css 和 .js 的引用)我更改的代码是:
<select class="GroupDropdown" name="Group">
@foreach(var group in @Model.Groups)
{
<option value="@group">@group</option>
}
</select>
<script type="text/javascript">
$(function () {
$(".GroupDropdown").select2();
});
</script>
以下适用于所有浏览器(文件位于根目录并正确命名)
<!DOCTYPE html>
<html>
<head>
<title>Dropdown Test</title>
<script src="jquery.js" type="text/javascript"></script>
<script src="select2.js" type="text/javascript"></script>
<link href="select2.css" rel="stylesheet" />
</head>
<body>
<select>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</body>
<script type="text/javascript">
$(function(){
$("select").select2();
});
</script>
</html>