2013-03-27 27 views
15

基本的に私はすべてのツアー名を$ touroptionsとしてデータベースから取得します。 $ touroptionsには、1〜20の値(オプションの選択)が含まれます。jQuery - チェック選択オプションが選択されている場合

If (any option) #sel-destination-tour is selected { 
//DO SOMETHING 
} 
ELSE { 
//DO SOMETHING ELSE 
} 

私はちょうど私がこれを行うことができますかどうかはわかりません - :私が行う必要がある何

ので、以下のように行うにはjQueryの機能を持っています。

HTML

<select name="sel-destination-tour" id="sel-destination-tour" class="input-select-tour"> 

    <option value="0"></option> 

    <?php echo $touroptions ?> 

</select> 
+0

:だから私はそれを変更しましたか? –

+0

http://stackoverflow.com/a/149820/4695280 –

答えて

23

はあなたがオプションかどうかを確認することができますしてみてくださいあなたの例に示されているような項目は、これはそれを行います...

if ($("#sel-destination-tour").val() != "0") { 
    // nothing selected 
} else { 
    // something selected 
} 
+0

クールスニペット、その動作 –

+3

オプションの値が0の場合はどうなりますか? – Rob

3

あなたが最初に持っていると仮定すると、選択

if($('#sel-destination-tour').val()){ 
    // do something 
} else { 
    // do something else 
} 
1

のvalue属性をテストすることによって、この

$('#sel-destination-tour').val() == ""){ 
    //nothing selected; 
}else{ 
    //something selected; 
} 
0

(0を仮定することは何も値ではありません)val()を確認します。

if ($('#sel-destination-tour').val() != 0) { 
    // has a value selected 
} 
else { 
    // does not have a value selected 
} 

例 - http://jsfiddle.net/infernalbadger/RrtT7/

+0

ちょうどコメント: '.val()'メソッドはいくつかのケースではうまくいきません。私は正しい状況を知らないので、FFで発生します(特に、 'change'がプログラム的にトリガされる) – Red

4

を選択の変更イベントを追跡し、それに応じて

$(function(){ 

$("#sel-destination-tour").change(function(){ 

if($(this).val() !="0") 
    { 
    // logic goes here 
    } 
    else 
    { 
    // no option is selected 
    } 
}); 

}); 
0

をご詰め込むを行います私の状況では、val()[]また、trueとしています。私はあなたが何も選択されていないとしてカウントすることを0はデフォルトのオプションであり、あなたがしたいことを指定するHTMLで推測している

if($('#sel-destination-tour').val()[0]){ 
    // do something 
} else { 
    // do something else 
} 
関連する問題