这段代码有什么问题?当我先改变选择国际时它会禁用第二个选择。但是当我选择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>
答案 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');