使用javascript隐藏下拉列表时,将下拉列表设置为其默认值

时间:2018-04-26 16:00:49

标签: javascript dropdown

我有几个下拉菜单(让他们给孩子们打电话)每个都用javascript显示,当另一个下拉菜单(让他们称他为主人)被选中时带有特定值。 这个javascript工作得非常好。现在,我希望当特定子项被设置为特定值时,当选择了另一个master值时,该子项将返回其默认值。

到目前为止我的代码:

.run()

最后一个getElementById(在隐藏第一个子下拉列表之后)不起作用,该值未设置为' - '当我改变主值...

有关如何使其发挥作用的任何提示?

谢谢!

修改

在按照评论中的要求检查HTML时,我发现了我的错误......对我感到羞耻!

隐藏下拉列表的ID调用是包含select的段落之一。给选择一个ID并在上面的js中调用它会在选择隐藏时为其赋予正确的值。

我的坏人,非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

正如我在评论中所述 - 将项目文本分配给下拉列表的值不是在下拉列表中选择该项目的正确方法。

以下是带有示例的片段 - 第一个按钮像在OP中一样分配文本,另一个按文本搜索项目,而不是将其索引分配给.selectedIndex属性,这是正确的方法

function click(){
  myDD.value="1";
}

function click2(){
  for (i=0;i<myDD.options.length;i++){
    if (myDD.options[i].text == "2"){
      myDD.selectedIndex = i;
    }
  }
}
<select id="myDD">
<option selected>-</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="button" onClick="click()" value="Assign Text" />
<input type="button" onClick="click2()" value="Right way" />

P.S。如果为元素指定了id,则无需调用document.getElementById()函数,只能通过id引用它,就像它被声明为变量一样。