人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptでワンクリックで複数チェックのやり方を教えてください。


<input type="checkbox" name="b[0]" id="a1">
<input type="checkbox" name="b[1]" id="a1">
<input type="checkbox" name="b[2]" id="a2">
<input type="checkbox" name="b[3]" id="a2">

<a onclick="????">ID="a1"をチェック</a>
<a onclick="????">ID="a2"をチェック</a>
<a onclick="????">すべてチェック</a>

上記のHTMLコードを動かすにはどんなjavascriptを書けばいいんでしょうか?

調べても、分からなかったので参考サイトのURLは特に不要です。
サクッと回答をお願いいたします。


●質問者: wrwrwrwr
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:A1 HTML JavaScript URL クリック
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●10ポイント

コード的には汚くなったんだけど、基本的にはチェックがついているかを確認してからclick()でチェックをつけること。(すでについていると逆に消えるから)

<html>
<head>
<script Language="JavaScript">
<!--
function cl(a){ 
switch(a){
case "1":
if ( ! document.forms[0].elements["b[0]"].checked ) document.forms[0].elements["b[0]"].click();
break;
case "2":
if ( ! document.forms[0].elements["b[1]"].checked ) document.forms[0].elements["b[1]"].click();
break;
case "3":
if ( ! document.forms[0].elements["b[0]"].checked ) document.forms[0].elements["b[0]"].click();
if ( ! document.forms[0].elements["b[1]"].checked ) document.forms[0].elements["b[1]"].click();
if ( ! document.forms[0].elements["b[2]"].checked ) document.forms[0].elements["b[2]"].click();
if ( ! document.forms[0].elements["b[3]"].checked ) document.forms[0].elements["b[3]"].click();
break;
}
}
// -->
</script>
</head>
<body>
<form>
<input type="checkbox" name="b[0]" id="a1">
<input type="checkbox" name="b[1]" id="a1">
<input type="checkbox" name="b[2]" id="a2">
<input type="checkbox" name="b[3]" id="a2"><br>
<a onclick="cl('1')">ID="a1"をチェック</a><br>
<a onclick="cl('2')">ID="a2"をチェック</a><br>
<a onclick="cl('3')">すべてチェック</a>
</form>
</body>
</html>

2 ● wnagata
●60ポイント ベストアンサー

同じIDの要素が複数あるというのは、どうなのかと思いますが、

以下のHTMLで要件を満たすのではないでしょうか。

Aタグの属性には、"#"と定義しておき、

onClick属性の値として、

checkAll(new Array('b[0]','b[1]','b[2]','b[3]'));

を指定します。


< <html> <head> <script type="text/javascript"> <!-- function check(name) { document.myForm.elements(name).checked=true; } function checkAll(names) { for (var i = 0; i < names.length; i++) { check(names[i]); } } // --> </script> </head> <body> <form name="myForm"> <input type="checkbox" name="b[0]" id="a1"> <input type="checkbox" name="b[1]" id="a1"> <input type="checkbox" name="b[2]" id="a2"> <input type="checkbox" name="b[3]" id="a2"> </form> ID="a1"をチェック ID="a2"をチェック すべてチェック </body> </html> >
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ