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 に答える