我的ASP代码如下:
<asp:CheckBox ID="chk" runat="server" Checked="false"/>
在我的JavaScript中:
document.getElementById('chk').checked = result.isUserSpecific;
if (result.isUserSpecific === 'False') {
document.getElementById('chkUserSpecific').checked = 'False';
}
当结果为true
时,我现在能够通过JavaScript勾选复选框,但我似乎无法取消勾选该框。
我尝试将'False'
更改为'false'
,看来返回的结果肯定是假的。任何指针都会受到欢迎。
答案 0 :(得分:3)
您需要为checked
属性分配一个布尔值,而不是字符串。
false
或true
不是'False'
而不是'false'
。
'false'
和'False'
都是真值。
答案 1 :(得分:2)
ASP.NET通过为它们添加前缀来确保HTML id
属性在其控件上是唯一的。在将chk
添加到您的网页之前,您宣布为c100_c100_chk
的内容正在转换为document.querySelector()
。
支持此操作的最简单方法是使用document.querySelector('[id$="chk"]').checked = ...;
,传入与元素ID的末尾匹配的属性选择器:
true
此外,字符串值'False'是 truthy 值,并将评估为false
。您需要将其设置为'False'
,而不是document.getElementById('chkUserSpecific').checked = false;
:
{{1}}