2013-03-27 60 views
15

基本上我有一個選擇選項,它將數據庫中的所有'Tour Names'作爲$ touroptions。 $ touroptions可以包含1-20個值(選項)。jQuery - 檢查如果選擇了任何選項

我需要做的是有一個jQuery函數做如下這樣: -

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

我只是不知道我怎麼能做到這一點。

HTML

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

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

    <?php echo $touroptions ?> 

</select> 
+0

我猜你的HTML提供的是默認選項,你希望沒有選擇任何計算? – 2013-03-27 12:23:48

+0

http://stackoverflow.com/a/149820/4695280 – 2017-04-21 11:15:00

回答

23

您可以檢查是否選擇項目如你的例子所示,這將做到這一點...

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

Cool snippet,它的工作原理 – 2014-06-12 12:15:22

+3

如果選項的值爲0,該怎麼辦? – Rob 2015-04-10 21:01:25

3

嘗試通過測試的選擇

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

值屬性假設你有第一本

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

檢查val()(假設0是沒有價值):

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 2013-03-27 12:24:57

4

跟蹤的選擇更改事件,並相應地做你的東西

$(function(){ 

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

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

}); 
0

在我的情況下val()正在返回[]並作爲true。所以我把它改爲:

if($('#sel-destination-tour').val()[0]){ 
    // do something 
} else { 
    // do something else 
} 
相關問題