ASP.NET MVC 4 を対象とする次のコードは、Firefox と Chrome で正しく動作します (ページはエラーなしで読み込まれ、ドロップダウンは正しく表示/応答します)。
> 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>