禁用后为什么我无法启用select html?

时间:2017-04-24 07:09:11

标签: javascript

这段代码有什么问题?当我先改变选择国际时它会禁用第二个选择。但是当我选择Local时,它不会启用第二个选择

<script type="text/javascript">
function changetextbox()
{
    if (document.getElementById("LocalOrInternations").value == "International") {
        document.getElementById("NormalOrPaper").disabled='true';
    } 
  else
     document.getElementById("NormalOrPaper").disabled='false';
}
</script>

<span class="input-group-addon" id="basic-addon1">Local Or International</span>
<select name="LocalOrInternations" id="LocalOrInternations" onChange="changetextbox();" class="form-control">
    <option  value="Local">Local</option>
    <option value="International">International</option>
</select>

<span class="input-group-addon" id="basic-addon1">Normal Or Paper Seminar></span>
<select name="NormalOrPaper" id="NormalOrPaper" class="form-control">
    <option  value="Normal">Normal</option>
    <option value="Seminar">Seminar</option>
</select>

Code test

3 个答案:

答案 0 :(得分:3)

'false''true'字符串。当强制转换为布尔值时,它们都是true(因为任何不是空白的字符串都是&#34; truthy&#34;。)你想要实际的布尔值false和{ {1}}(没有引号)。

true

附注:我建议与您的if (document.getElementById("LocalOrInternations").value == "International") { document.getElementById("NormalOrPaper").disabled = true; // -------------------------------------------------^^^^ } else { document.getElementById("NormalOrPaper").disabled = false; // -------------------------------------------------^^^^^ } 保持一致。要么将它们包含在单个语句中(就像您使用{}所做的那样),要么不要像在if中那样包含它们,但有时不要 将它们包含在单个陈述中而不是其他时间。

答案 1 :(得分:1)

您必须从布尔代码中删除'

你必须这样设置。

<script type="text/javascript">
function changetextbox()
{
    if (document.getElementById("LocalOrInternations").value == "International") {
        document.getElementById("NormalOrPaper").disabled=true;
    } 
  else
     document.getElementById("NormalOrPaper").disabled=false;
}
</script>

检查这个jsfiddle:click here

答案 2 :(得分:0)

这应该有帮助

document.getElementById("NormalOrPaper").removeAttribute('disabled');