我正在使用下面的选择器来获取预先填充了值的所有表单输入。
$('input[value!=""]');
这很好用,所以我想我可以使用下面的选择器对我的选择元素应用相同的逻辑,虽然它似乎是在Chrome中选择所有选择元素。
$('select[value!=""]');
以下是表单上两种选择的示例:
<select name="phone2_type" id="phone2_type">
<option value="">Select one:</option>
<option value="HOME">Home</option>
<option value="CELL">Cell</option>
<option value="BUSN">Business</option>
</select>
<select name="state" id="state">
<option value="">Select one:</option>
<option value="XX">Outside USA/Canada</option>
<option value="AL" selected="selected">Alabama</option>
<option value="AK">Alaska</option>
...
</select>
我想选择第二个选择,因为它已经使用select =“selected”选择了一个值
答案 0 :(得分:7)
value
不是select
代码的属性。
所以你需要尝试:
var emptySelect = $('select').filter(function() {
return $.trim( $(this).val() ) == '';
});
答案 1 :(得分:1)
对于select,您需要使用JQuery提供的特殊选择器:: selected
所以
$('#state option:selected').val()
是当前选定的值。
如果您需要在选择元素上执行某些操作,您可以执行以下操作:
$('#select option:selected').parents('select').dosomething(...)
答案 2 :(得分:0)
$('select').has('option[selected="selected"]')
将获得select元素。的 jsFiddle example 强>