这可能是一个愚蠢的问题,但我仍在学习,如果答案显而易见,请原谅我:)
我有一个测试页面,其中包含以下内容:
<select name="ddlRoles" ID="ddlRoles" OnChange="DisEnableDDL();">
<option value="-1">Fresh Milk</option>
<option value="2">Old Cheese</option>
<option value="3">Hot Bread</option>
</select>
<select name="ddlCust" ID="ddlCust">
<option value="-1">rawr</option>
<option value="2">root</option>
<option value="3">honk</option>
</select>
如果用户从ddl Roles中选择值不是3的任何内容,则应禁用ddlCust。这是我的JS功能:
function DisEnableDDL()
{
var ddlR = document.getElementById("ddlRoles")
var ddlC = document.getElementById("ddlCust")
if(ddlR.options[ddlR.selectedIndex].value = "3")
{
ddlC.disabled = false;
}
else
{
ddlC.selectedIndex = 0;
ddlC.disabled = true;
}
}
不起作用。我错过了什么?我没有正确设置我的变量?这只是更改变量ddlR和ddlC而不更改页面本身或其他内容的元素吗? 在Firebug中完成后,它似乎属于正确的陈述,但ddlCust永远不会被禁用。
非常感谢任何帮助!
答案 0 :(得分:3)
==
而不是=
if(ddlR.options[ddlR.selectedIndex].value == "3")
=
用于分配,而==
用于比较,在大多数类C语法中。
答案 1 :(得分:2)
你没有正确比较,你需要使用'==':
if(ddlR.options[ddlR.selectedIndex].value == "3")