jQuery循环选择并设置所选选项

jQuery Loop through selects and set selected option

本文关键字:选项 设置 循环 选择 jQuery      更新时间:2023-09-26

我想循环浏览页面上的所有选择输入,如果所选值不是特定选项,则将该值设置为所选

我有一些选择

<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更新"

感谢迄今为止的所有答案

您可以将所需的选项值传递给.val()方法,同时针对select来选择所需的选择元素:

$('select').val('2');

工作代码段:

 $('select').val('2');
<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>

查找所有值等于2的选项并选择它们:

$('select').each(function() {
  $(this).find('option[value="2"]').prop('selected', true);
});
<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>

您可以探索这个jquery对象的value密钥

   $('select').each(function() {
    var selected = $(this)[0].value;
    console.log(selected)
    if (selected != 2) {
        alert("Not 2")
   }
})

JSFIDDLE