这是一个基本问题(我认为),我很尴尬在这里问。它可能已经被回答,但我找不到我的搜索。
在最简单的形式中,有两个复选框,每个CheckBox都有一个与之关联的控件(例如TextBox或DropDownList)。当CheckBox的选中状态发生变化时,必须启用或禁用相关控件。
JavaScript函数:
<script type="text/javascript:>
function enable(bValue, control)
{
document.getElementByID(control).Enabled = bValue;
}
</script>
我将此函数称为事件过程,例如,启用(this.Checked,“expJob”)并启用(this.Checked,“itemJob”),在下面的HTML中:
<body>
Billable? <asp:CheckBox ID="expBillable" runat="server" Checked="false" OnCheckedChanged="enable(this.Checked, "expJob");" />
to <asp:DropDownList ID="expJob" runat="server" Enabled="true" />
<br /><br />
Billable? <asp:CheckBox ID="itemBillable" runat="server" Checked="false" OnCheckedChanged="enable(this.Checked, "itemJob");" />
to <asp:DropDownList ID="itemJob" runat="server" Enabled="true" />
问题在于,由于使用了引号,我无法在HTML中指定“expJob”参数。即使使用单引号也行不通。
所以问题是:这种方法有效吗?什么是正确的语法?
编写和使用此类函数的最佳方法是什么?我确信当必须迭代网格中的行时,将需要这样的函数使用。
有趣的是,我看到的所有问题/答案都使用了控件的禁用属性。我只能使用Enabled属性。有人可以解释原因,有什么区别?
答案 0 :(得分:0)
答案 1 :(得分:-1)
请注意,javascript是区分大小写的
document.getElementById
很好,
document.getElementByID
很糟糕(注意大写字母中的ID不好)