使用jQuery设置<select multiple =“”>的选定属性

时间:2019-01-21 14:55:50

标签: javascript jquery html

我有多种选择,例如:  <选择多个id =“ brand”>             我正在寻找一种最终的方式:  <选择多个id =“ brand”>             我不能依赖外部库,也不能使.each函数正常工作。 此外,我得到了具有许多字段的原始设置,并且仅在特定情况下才将其设置为该设置,但是我不知道为什么这对我不起作用。 我发现最接近的方法是: $(“#brand”)。each(function(){$(this).attr(“ selected”,“ selected”);}); 您能指出我出问题的地方吗?谢谢

2 个答案:

答案 0 :(得分:1)

您需要选择选项,例如使用#brand > option选择器:

$("#brand > option").each(function() {
    $(this).attr("selected","selected");
});

console.log($("#brand").html());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select multiple id="brand">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

答案 1 :(得分:1)

在Vanilla Script中,您可以使用类似

  document.querySelectorAll('#brand option').forEach((o)=>{
    o.selected = 'selected'
  })

如果您需要IE,请注意,节点列表不支持For Each。这应该工作。 IE浏览器

nodesArray = [].slice.call(document.querySelectorAll("#brand option"));
nodesArray.forEach(function (o) {
     o.selected = 'selected'
})

您不会看到HTML代码中的更改,但是选项的DOM属性将更改。希望这可以帮助。