提问者:小点点

Javascript,自动选择下拉菜单


所以我试图用Javascript做的是,当我做一些类似于文档的事情时,让它成为现实。getElementByID(“产品选择”)。value=“34”;它会自动为我按下它。

每当我尝试这样做的时候,它会使下拉菜单变为空白,并且不会自动更改。我能得到一些帮助吗?

<div id="product-variants" class="">
  <div class="select-wrapper">
    <select id="product-select" name="id" class="">




      <option value="28223706565">32</option>



      <option value="28223706629">34</option>



      <option value="28223706693">36</option>


    </select>
  </div>
</div>

共3个答案

匿名用户

下拉值不自动更改的原因是,当您使用document.getElementByID(“产品选择”)设置下拉值时。value=“34”,它不会选择文本节点为34的选项,这将仅当其中一个选项的值为34时才更改下拉列表。为了使其工作,您可以更改您的实现,如下所示:

var options = document.getElementById("product-select").options;
for (var i = 0; i < options.length; i++) {
  if (options[i].text == "34") {
    options[i].selected = true;
    break;
  }
}

匿名用户

可能

document.getElementByID("product-select").value = "34";

应该是

document.getElementByID("product-select").value = "28223706629";

另一种方法是引用索引,如

document.getElementById("product-select").selectedIndex = 1;

匿名用户

如果您知道值的顺序,可以使用

文档。getElementByID(“产品选择”)。选择索引方法

如果你想选择值34在这种情况下它是第二个选项所以它的索引是1 32索引将是0和36索引将是2

因此,如果要将值更改为34,请调用

document.getElementByID(产品选择). selectedIndex=1