Javascript select 上的多个 .value

Javascript multiple .value on select

我可以像这样在 select 中输入一个值(标记 select 选项):

document.getElementById('language').value = "en";

如何在更多 select 个选项字段上使用它?

Html

<fieldset class="form-group">
    <select class="form-control" id="language" multiple="">
     <option value="de">german</option>
     <option value="en">english</option>
     <option value="tr">turkey</option>
    </select>
</fieldset>

您可以将数组而不是字符串传递给 jQuery 的 val()

$('#language').val(["de", "tr"]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<fieldset class="form-group">
    <select class="form-control" id="language" multiple="">
     <option value="de">german</option>
     <option value="en">english</option>
     <option value="tr">turkey</option>
    </select>
</fieldset>

如果你想选择某些选项,你可以使用 querySelectorAll() 方法获取具有特定值的选项,并使用 forEach() 遍历你刚刚拥有的所有选项 查询 并添加选择为 true。我希望这就是您要实现的目标:

var languages = ['de', 'tr'];
for(var i = 0; i < languages.length; i++){
  var all = document.querySelectorAll('#language option[value="' + languages[i] + '"]');
  all.forEach(function(element){
    element.selected = true;
  });
}
<fieldset class="form-group">
    <select class="form-control" id="language" multiple="">
     <option value="de">german</option>
     <option value="en">english</option>
     <option value="tr">turkey</option>
    </select>
</fieldset>