7

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>
4

1 に答える 1

2

最近同じ問題が発生しました。1.8.1 以降の安定した jquery バージョンを使用していることを確認してください。

于 2013-05-03T15:38:51.230 に答える