使用javascript更改复选框的"已检查"属性

bou*_*ppo 2 html javascript ajax jsp

现在当它第一次加载html页面时,我的复选框就是这样创建的:

<input type="checkbox" id="CBOX1" name="CBOX1" onclick="onCBOX(this)" disabled/>
Run Code Online (Sandbox Code Playgroud)

在同一个html中的函数中:

boolean checked = true;
document.theForm.elements['CBOX1'].checked = true;
Run Code Online (Sandbox Code Playgroud)

出于某种原因,在稍后在页面上调用该函数时,不会检查复选框值.是因为当我第一次创建复选框时,我创建了它而没有"已检查"属性?然后当我为它分配一个值时,该元素似乎不再包括checked属性,就像我检查页面的来源一样.它还是一样的......

<input type="checkbox" id="CBOX1" name="CBOX1" onclick="onCBOX(this)" disabled/>
Run Code Online (Sandbox Code Playgroud)

为简单起见,我确信使用AJAX对此元素的其他属性进行了更改,但我不知道为什么检查属性没有被转移...有什么替代方案?

Tra*_*s J 6

选中复选框:

document.theForm.elements['CBOX1'].checked = true;
document.theForm.elements['CBOX1'].checked = "checked"; 
Run Code Online (Sandbox Code Playgroud)

取消选中该复选框:

document.theForm.elements['CBOX1'].checked = false; 
Run Code Online (Sandbox Code Playgroud)

如果您希望在加载时取消选中它,则不要触摸它,默认情况下它是未选中的.

此外,如果在输入字段上使用disabled属性,则不会注册任何单击事件.

请参阅此jsfiddle以获取示例.

编辑

如果可点击性不是问题那么就做我已经指出的事情.这是一个完整的工作示例.

<html>
 <head>
 </head>
 <body>
  <input id="tar" type="checkbox" disabled />
  <input type="checkbox" onclick="callFunc(this)" />
  <script type="text/javascript">
   function callFunc(elem){
    document.getElementById("tar").checked = elem.checked;
   }
  </script>
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)