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

时间:2012-08-21 15:34:37

标签: javascript html ajax jsp

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

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

在同一个html中的函数中:

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

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

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

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

3 个答案:

答案 0 :(得分:6)

选中复选框:

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

取消选中复选框:

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

如果你想在加载时取消选中它,请不要触摸它,默认情况下它是未选中的。

此外,如果您在输入字段中使用已停用属性,则不会注册任何点击事件。

有关示例,请参阅此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>

答案 1 :(得分:0)

尝试将其设置为true

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

答案 2 :(得分:0)

试试这个,不管怎么说。

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