$('#button').click(function() {
if ($('select[name^="dropdown_"][value="Test 1"]').length) {
alert("Found.");
}
});
我在页面上有6个下拉菜单。我试图检查其中一个是否选择了某个值。虽然它看起来不错,但上述情况并非如此。我在这里缺少什么?
答案 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.");
}
});