0

これは本当に奇妙ですが、単純なものが欠けている可能性があります。ユーザーが値を選択できる単純な select ステートメントがあります。

onChange は関数 getDrop2() を呼び出します。これは現在、どのオプションが選択されているかを警告するために取得しようとしています。

私のhtmlは:

<select  onChange= "getDrop2()" id = "drop1" >
     <option value="0">All</option>
     <option value="1">Alphabetical</option>
     <option value="2">Brewery</option>
     <option value="3">Style</option>
</select>

私のJavascriptは:

function getDrop2(){
    var choice = $("#drop1").val()
    alert(choice);

}

alert ステートメントの出力は空白です。

4

2 に答える 2

2

jQuery では、次のようなことを行う方がよいでしょう。

<select id = "drop1" >
     <option value="0">All</option>
     <option value="1">Alphabetical</option>
     <option value="2">Brewery</option>
     <option value="3">Style</option>
</select>

次の JavaScript を使用します。

 $(function(){
    $('#drop1').change(function() {
        var choice = $(this).val();
        alert(choice);
    }
  });

これは、jQuery が "drop1" の ID を持つ select に変更機能を自動的にアタッチするという考え方です。このパターンを使用することで、ビジネス ロジックを実行している JavaScript から HTML を切り離しました。

于 2013-02-11T22:59:51.783 に答える
0

他の人が選択したものはより良いアプローチですが。私の答えは、コードが機能しない理由を伝えることです

これを試して

var choice = $('#drop1 option:selected').val()

それ以外の

var choice = $("#drop1").val()
于 2013-02-11T23:19:41.193 に答える