JQuery检查SELECT值是否存在

时间:2012-09-10 19:50:15

标签: jquery select

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

我在页面上有6个下拉菜单。我试图检查其中一个是否选择了某个值。虽然它看起来不错,但上述情况并非如此。我在这里缺少什么?

4 个答案:

答案 0 :(得分:2)

这里的问题是HTML select没有值属性。这就是你看不到输出的原因..

选中此FIDDLE

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

答案 1 :(得分:2)

试试这个。您可以在选择器中使用该选项。

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

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

答案 2 :(得分:1)

使用此选择器:

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

虽然我建议可能会为这些选项值使用类名,这样你就可以更有效地使用它们:

$('.optionTest1:selected')

或者,至少在选择

上应用一个类名
$('.dropdownSelect option[value="Test 1"]:selected')

答案 3 :(得分:1)

您尝试使用属性选择器来查找元素属性。您必须自己检查选择属性。

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

DEMO