2010-12-16 6 views
3

2つのドロップダウンセレクタの2つの値を比較する関数が必要で、同じ場合はdivを表示します。可能であれば、jQueryを使用したいと思います。は2つのドロップダウン値を比較します

<select id="drop1"> 
    <option value="a">a 
    <option value="b">b 
    <option value="c">c 
</select> 

<select id="drop2"> 
    <option value="a">a 
    <option value="b">b 
    <option value="c">c 
</select> 

答えて

6
$("#myDiv").toggle($("#drop1").val() === $("#drop2").val()); 

説明:$("#dropX").val()そのドロップダウンで選択した要素の値を取得します。 ===はそれらを比較し、trueまたはfalseを適切に指定します。 $("myDiv").toggle(...)は、渡された値に応じて#myDivを表示または非表示にします。

値を変更するたびにこれを行うには、nickfの回答と同じように$("#drop1, #drop2").change(function() { ... });に入れてください。

+0

トグルfuncの便利なオーバーロードですが、なぜ3 ===ですか? –

+0

'=='は値を比較するだけですが、等しくなければ型を強制します(例: 'null ==" "== undefined == 0')。 '=== 'は' == null'でも 'null!==" "'と 'null!== undefined'など)。常に '==='を使うのがベストプラクティスです。 – Domenic

+0

@エリックそのような質問に答えたウェブサイトがあった場合 - ああ待って! http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use :) –

5
$('#drop1, #drop2').change(function() { 
    $('#myDiv').toggle(
     $('#drop1').val() === $('#drop2').val() 
    ); 
}); 
関連する問題