2012-09-10 101 views
1
$('#button').click(function() { 
    if ($('select[name^="dropdown_"][value="Test 1"]').length) { 
     alert("Found."); 
    } 
}); 

我在頁面上有6個下拉菜單。我正在嘗試檢查是否在其中一箇中選擇了某個值。上面沒有這樣做,雖然看起來不錯。我在這裏錯過了什麼?JQuery檢查是否存在SELECT值

回答

1

使用此選擇:

$("select[name^="dropdown_"] option[value="Test 1"]:selected) 

雖然我建議也許使用一個類名的選項值,所以你可以在他們更加有效地喜歡得到:

$('.optionTest1:selected') 

或者,在在選擇上至少應用類名稱

$('.dropdownSelect option[value="Test 1"]:selected') 
2

這裏的問題是HTML選擇不具有價值屬性..那是你看不到輸出的原因..

入住這FIDDLE

$(function(){ 
    $('#btn1').on('click' , function() { 
     if ($('select[name^="dropdown_"]').val() == "Test 1") {  
      alert('Found !!') ;   
     };    
    }); 
});​ 
+0

在這裏你有一個小提琴來支持你的答案:) http://jsfiddle.net/rmW69/ –

2

試試這個。您可以在選擇器中使用該選項。

if ($('select[name^="dropdown_"] > option[value="Test 1"]:selected').length) { 
     alert("Found."); 
    } 

你可以看到它在這裏工作。 http://jsfiddle.net/UECsS/

1

您使用at致敬選擇器試圖找到元素屬性。你必須自己檢查選擇的屬性。

$('#button').click(function() { 
    if ($('select[name^="dropdown_"]').is(function(){return this.value == 'Test 1'})) { 
     alert("Found."); 
    } 
}); 

DEMO