我想遍历页面上的所有选择输入,如果所选值不是某个选项,则将该值设置为选中
我有一些选择
<select name="select1">
<option value="1">One</option>
<option value="2" selected>Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select name="select2">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select name="select3">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
我正在循环浏览它们,但如果尚未选中,我无法弄清楚如何将所选属性设置为选项'2'
$('select').each(function() {
var selected = $(this).find(":selected");
if (selected.val() != 2) {
// do some stuff
}
}
编辑:
我应该详细说明。如果更改了选择输入值,我会附加一个字符串,例如'-updated'到输入值,因为每个输入都将发布到数据库。理想情况下,我只会针对效率发生变化的输入执行此操作
所以我想设置所有尚未选择选项2的选择输入,并且值为“2-updated”
感谢目前为止的所有答案
答案 0 :(得分:1)
您可以将所需的选项值传递给.val()
方法,同时定位选择以选择所需的选项元素:
$('select').val('2');
工作代码段
$('select').val('2');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select name="select1">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3" selected>Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select name="select2">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select name="select3">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
&#13;
答案 1 :(得分:0)
查找值等于2的所有选项并选择它们:
$('select').each(function() {
$(this).find('option[value="2"]').prop('selected', true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select name="select1">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3" selected>Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select name="select2">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<select name="select3">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
&#13;
答案 2 :(得分:0)
您可以浏览此jquery对象的value
键
$('select').each(function() {
var selected = $(this)[0].value;
console.log(selected)
if (selected != 2) {
alert("Not 2")
}
})