0

複数のチェックボックスを選択できるようにしたいのですが、個々のボックスごとonmouseoverに適用 onmouseoverするのではなく、代わりにIDでチェックボックスを操作することでその方法を考え出そうとしていますが、どこから行けばよいかわかりませんを使用してgetElementById。したがって、以下に表示されるものの代わりに:

<html>
<head>
<script>
     var Toggle = true;

  var Highlight=false;
  function handleKeyPress(evt) {
     var nbr;
     if (window.Event) nbr = evt.which;
     else nbr = event.keyCode;
     if(nbr==16)Highlight=true;
     return true;
  }

  function MakeFalse(){Highlight=false;}

  function SelectIt(X){
      if(X.checked && Toggle)X.checked=false;
      else X.checked=true;
  }
function ChangeText()
{
    var test1 = document.getElementById("1");
    test1.innerHTML = "onmouseover=SelectIt(this)"
}

</script>
</head>
<body>
<form name="A">
<input type="checkbox" name="C1" onmouseover="SelectIt(this)" id="1"><br>
<input type="checkbox" name="C2" onmouseover="SelectIt(this)" id="2"><br>
<input type="checkbox" name="C3" onmouseover="SelectIt(this)" id="3"><br>
<input type="checkbox" name="C4" onmouseover="SelectIt(this)" checked="" disabled="disabled" id="4"><br>
<input type="checkbox" name="C5" onmouseover="SelectIt(this)" id="5"><br>
<input type="checkbox" name="C6" onmouseover="SelectIt(this)" id="6"><br>
<input type="checkbox" name="C7" onmouseover="SelectIt(this)" id="7"><br>
<input type="checkbox" name="C8" onmouseover="SelectIt(this)" id="8"><br>
</form>

</body>
</html>

onmousover次のようなチェックボックスの配列に効果を適用できるようにしたい:

<form name="A">
<input type="checkbox" name="C1" id="1"><br>
<input type="checkbox" name="C2" id="2"><br>
<input type="checkbox" name="C3" id="3"><br>
<input type="checkbox" name="C4" checked="" disabled="disabled" id="4"><br>
<input type="checkbox" name="C5" id="5"><br>
<input type="checkbox" name="C6" id="6"><br>
<input type="checkbox" name="C7" id="7"><br>
<input type="checkbox" name="C8" id="8"><br>
</form>

Stack Overflow の検索機能を試して Google を調べた後も、これまでのところ自分にとって意味のある解決策を見つけることができませんでしたが、まだ学習中なので、しようとしているのではないかと心配しています。私の知識レベルには高度すぎることをしてください。

4

2 に答える 2

0

邪魔にならない JavaScript を作成するために、入力のイベントを変更する必要はありません。JavaScript を実行できないエージェントは、onmouseover属性を無視します。そして、ループのサーバー側でチェックボックスを生成してほしいので、コピペを恐れる必要はありません。

于 2010-04-27T11:12:44.967 に答える
0

クライアント側でjQueryを使用することを検討します。たとえば、質問は jQuery で非常に簡単にモデル化でき、非常に少ないコードで作成できます。

$(':checkbox').mouseover(function()
{
    this.checked = !this.checked;
});

これにより、ページ上のすべてのチェック ボックスが取得され、それらにマウスオーバー イベントがアタッチされます。次に、マウス オーバーが発生すると、要素の checked 属性の状態が単純に切り替えられます。

于 2010-04-27T11:28:20.743 に答える