2009-07-13 8 views
3

私はショッピングカートのアドレスページに取り組んでいます。 2つの<select>ボックスがあります.1つは国、1つは地域です。jQuery:特定の<select>オプションが選択されている場合、divを表示していますか?

標準国が6つあります。そうでない場合は、「その他の国」を選択する必要があります。 <option>の要素にはすべて数値があります。その他の国は241です。ユーザーが[その他の国]を選択し、テキストエリアを表示した場合、地域<select>を非表示にする必要があります。

何か助けをよろしくお願いします!

答えて

6

関数を選択リストにバインドする必要があります。関数が変更されたときに、関数がdivを表示するかどうかを決定します。このようなもの(はテストされていません、うまくいえば構文的に閉じる)。 ここにはlive exampleがあります。

$(document).ready(function() { 
    $('#YourSelectList').bind('change', function (e) { 
    if($('#YourSelectList').val() == 241) { 
     $('#OtherDiv').show(); 
    } 
    else{ 
     $('#OtherDiv').hide(); 
    }   
    }); 
}); 
+0

伝説!これは私に基本的な概要を与え、私はそこからそれを理解することができました。お時間をいただきありがとうございます。あなたが書いた例は本当にありがたいです! :) –

0

this questionと同じ原則です。選択の変更に接続するだけで、val()hide()/show() divを確認してください。

+0

あなたの入力をありがとう! –

-1

私の意見では、これにはjQueryは本当に必要ありません。

この単純なJavaScriptコードは、トリックを行います:ほとんどのブラウザのため

document.getElementById('country_id').onchange = function() 
{ 
    if (this.options[this.selectedIndex].value == 241) { 
     document.getElementById('region_id').style.display = 'block'; 
    } else { 
     document.getElementById('region_id').style.display = 'none'; 
    } 
} 

value作品を、しかし、はい、古いブラウザのためにあなたはselect.options[select.selectedIndex].valueを必要としています。スクリプトを更新しました。

+0

選択項目で値が機能しません。 –

+0

これはテストしていませんが、私は他のソリューションを使用してしまいましたが、あなたのご意見をお寄せいただきありがとうございます。 –

+1

これはほぼあります。選択したオプションの値を取得するには、selectにインデックスを付ける必要があります。私はあなたがjqueryを使用していなかった場合、この問題は開始するのに十分な理由ではないことに同意します。しかし、すでにプロジェクトにjqueryがある場合は、それを使用してください! –

関連する問題