大家好我在gridview中有两个复选框控件我需要的是如果我选中了一个复选框,另一个应该被启用,如果我取消选中它应该得到禁用是否有任何方法可以做到这一点。
我写这个,但我没有得到所需的
<script type="text/javascript">
function checkboxClick(checked, boxId) {
var childCheckbox = document.getElementById(boxId);
childCheckbox.disabled = !checked;
if(childCheckbox.disabled) //uncheck when disabled
childCheckbox.checked = false;
}
</script>
<asp:CheckBox ID="CheckBox1" runat="server" OnClientClick ="checkboxClick(this.checked);" />
<asp:CheckBox ID="boxId" runat="server" Enabled="false" /></div>
答案 0 :(得分:1)
基本上,你想要的是这样的:
function checkboxClick(checked) {
document.getElementById('childCheckbox').disabled = !checked;
}
<input type="checkbox" onclick="checkboxClick(this.checked);" />
<input type="checkbox" id="childCheckbox" />
现在,如果它们是ASP.NET控件<asp:CheckBox />
,您可能需要编辑checkboxClick
,以便它还可以使用复选框的ClientID来启用/禁用。
<asp:CheckBox runat="server" id="cb1" />
<asp:CheckBox runat="server" id="cb2" />
var cb2 = FindControl("cb2");
((CheckBox) FindControl("cb1")).OnClientClick = "checkboxClick(this.checked, '" + cb2.ClientID + "');";
修改强>
根据评论满足进一步的要求:
function checkboxClick(checked, boxId) {
var childCheckbox = document.getElementById(boxId);
childCheckbox.disabled = !checked;
if(childCheckbox.disabled) //uncheck when disabled
childCheckbox.checked = false;
}
<asp:CheckBox runat="server" id="cb1" />
<asp:CheckBox runat="server" id="cb2" Enabled="false" /> <!-- disable on load -->