$('#button').click(function() {
if ($('select[name^="dropdown_"][value="Test 1"]').length) {
alert("Found.");
}
});
我在一个页面上有 6 个下拉菜单。我正在尝试检查是否在其中一个中选择了某个值。上面没有这样做,虽然它看起来是正确的。我在这里想念什么?
这里的问题是 HTML 选择没有 value 属性。这就是你看不到输出的原因。
检查这个小提琴
$(function(){
$('#btn1').on('click' , function() {
if ($('select[name^="dropdown_"]').val() == "Test 1") {
alert('Found !!') ;
};
});
});
试试这个。您可以在选择器中使用该选项。
if ($('select[name^="dropdown_"] > option[value="Test 1"]:selected').length) {
alert("Found.");
}
你可以看到它在这里工作。http://jsfiddle.net/UECsS/
使用这个选择器:
$("select[name^="dropdown_"] option[value="Test 1"]:selected)
尽管我建议也许对这些选项值使用类名,以便您可以更有效地获取它们,例如:
$('.optionTest1:selected')
或者,至少在选择上应用一个类名
$('.dropdownSelect option[value="Test 1"]:selected')
您使用属性选择器来尝试查找元素属性。您必须自己检查选择属性。
$('#button').click(function() {
if ($('select[name^="dropdown_"]').is(function(){return this.value == 'Test 1'})) {
alert("Found.");
}
});