2

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

<input type="checkbox" id="CBOX1" name="CBOX1" onclick="onCBOX(this)" disabled/>

在同一个 html 中的函数中:

boolean checked = true;
document.theForm.elements['CBOX1'].checked = true;

由于某种原因,稍后在页面上调用该函数时,未选中复选框值。是因为当我第一次创建复选框时,我创建它时没有“选中”属性?然后当我为它分配一个值时,该元素似乎不再包含选中的属性,就像我检查页面源时一样。它仍然是一样的......

<input type="checkbox" id="CBOX1" name="CBOX1" onclick="onCBOX(this)" disabled/>

为简单起见,我肯定知道使用 AJAX 对该元素的其他属性进行了更改,但我不知道为什么检查的属性没有被继承......还有什么选择?

4

3 回答 3

7

选中复选框:

document.theForm.elements['CBOX1'].checked = true;
document.theForm.elements['CBOX1'].checked = "checked"; 

取消选中复选框:

document.theForm.elements['CBOX1'].checked = false; 

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

此外,如果您在输入字段上使用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>
于 2012-08-21T15:42:07.613 回答
0

尝试将其设置为true

document.theForm.elements['CBOX1'].checked = true; 
于 2012-08-21T15:37:09.907 回答
0

试试这个,反正没有测试。

document.theForm.elements['CBOX1'].checked = true; 
于 2012-08-21T15:38:27.537 回答