如何在客户端
上禁用asp:TextBox
点击HTML复选框
或服务器端asp:CheckBox
使用 JavaScript
?
<script type="text/javascript" language="javascript">
function enableTextbox() {
// ?
}
</script>
<table>
<tr>
<td>
<input id="checkTake" onclick="enableTextbox" title="Take?" />
</td>
</tr>
<tr>
<td>
<asp:TextBox runat="server" ID="txtCommission" />
</td>
</tr>
</table>
最佳答案
这里棘手的部分是 ASP.NET 分配自动生成的 id
所有runat="server"
的属性元素,包括你的 TextBox
.一个简单的解决方案是“注入(inject)”生成的 id
进入脚本:
function enableTextbox() {
var txtCommision = document.getElementById("<%= txtCommision.ClientID %>");
txtCommision.disabled = !this.checked;
}
如果您更喜欢在没有这种“意大利面条代码”的情况下执行此操作 - 也许您希望将 JavaScript 放在一个单独的文件中 - 您可以避免使用 id
用于选择 <input>
field 。相反,您可以用 class
装饰它.在这种情况下,您可能希望使用某种选择器库在 JavaScript 中查找控件,jQuery 是一种流行的选择。
关于.net - 如何禁用客户端上的 TextBox 单击 CheckBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2572526/