所以我试图用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>
下拉值不自动更改的原因是,当您使用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