複数のラジオボタンの中から1つを選択すると、その行の5つのチェックボックスが有効になる方法を教えていただけないでしょうか。
1つのラジオボタンでならなんとか出来たのですが、
複数になるとどうもうまくいきません。
検索してはみたのですが、これといったものがなく質問することにしました。
以下のソースは単発で動いた時のものです。
<html>
<head>
<script type="text/javascript">
function checkfunc() {
for(i=0; i<5; i++) {
document.myform.chk1[i].disabled = !(document.myform.yesno.checked);
}
}
</script>
</head>
<body onLoad="checkfunc();">
<form name="myform">
<input type="radio" name="yesno" value="1" onClick="checkfunc();">ラジオボタン
<input type="checkbox" name="chk1" value="0">チェックボックス0
<input type="checkbox" name="chk1" value="1">チェックボックス1
<input type="checkbox" name="chk1" value="2">チェックボックス2
<input type="checkbox" name="chk1" value="3">チェックボックス3
<input type="checkbox" name="chk1" value="4">チェックボックス4
</form>
</body>
</html>
希望のイメージとしてはこんな感じです↓
○ラジオボタン
□チェックボックス □チェックボックス □チェックボックス □チェックボックス □チェックボックス
◎ラジオボタン
□チェックボックス □チェックボックス □チェックボックス □チェックボックス □チェックボックス
○ラジオボタン
□チェックボックス □チェックボックス □チェックボックス □チェックボックス □チェックボックス
申し訳ないのですが、どなたか教えていただけないでしょうか。
No.1ベストアンサー
- 回答日時:
たとえば、divなどでグループをつくっておいて処理するとか・・・
<script>
window.onload=function(){
checkfunc()
}
function checkfunc(){
var f=document.getElementById("hoge");
for(var i=0;i<f.length;i++){
if(f[i].type=="checkbox") f[i].disabled=true;
}
for(var i=0;i<f.length;i++){
if(f[i].type=="radio" && f[i].checked){
var n=f[i].parentNode.firstChild;
while(n){
if(n.nodeName=="INPUT" && n.type=="checkbox") n.disabled=false;
n=n.nextSibling;
}
}
}
}
</script>
<form id="hoge">
<div>
<input type="radio" name="yesno" value="1" onclick="checkfunc()">ラジオボタン1
<input type="checkbox" name="chk[1][]" value="0">チェックボックス0
<input type="checkbox" name="chk[1][]" value="1">チェックボックス1
<input type="checkbox" name="chk[1][]" value="2">チェックボックス2
</div>
<div>
<input type="radio" name="yesno" value="1" onclick="checkfunc()">ラジオボタン2
<input type="checkbox" name="chk[2][]" value="0">チェックボックス0
<input type="checkbox" name="chk[2][]" value="1">チェックボックス1
<input type="checkbox" name="chk[2][]" value="2">チェックボックス2
</div>
<div>
<input type="radio" name="yesno" value="1" onclick="checkfunc()">ラジオボタン3
<input type="checkbox" name="chk[3][]" value="0">チェックボックス0
<input type="checkbox" name="chk[3][]" value="1">チェックボックス1
<input type="checkbox" name="chk[3][]" value="2">チェックボックス2
</div>
</form>
No.2
- 回答日時:
サンプルです
<html>
<head>
<title></title>
</head>
<body>
<div id="sample">
<p>
<input type="radio" name="yesno" onclick="checkfunc();">ラジオ1<br>
<input type="checkbox" name="chk1" value="0">チェックボックス0
<input type="checkbox" name="chk1" value="1">チェックボックス1
<input type="checkbox" name="chk1" value="2">チェックボックス2
<input type="checkbox" name="chk1" value="3">チェックボックス3
<input type="checkbox" name="chk1" value="4">チェックボックス4
</p>
<p>
<input type="radio" name="yesno" onclick="checkfunc();">ラジオ2<br>
<input type="checkbox" name="chk2" value="0">チェックボックス0
<input type="checkbox" name="chk2" value="1">チェックボックス1
<input type="checkbox" name="chk2" value="2">チェックボックス2
<input type="checkbox" name="chk2" value="3">チェックボックス3
<input type="checkbox" name="chk2" value="4">チェックボックス4
</p>
</div>
<script type="text/javascript">
checkfunc();
function checkfunc(){
var list = document.getElementById('sample').getElementsByTagName('input');
var flag;
for(var i=0;list[i];i++) {
if(list[i].type == 'radio'){
flag = list[i].checked;
continue;
}
list[i].disabled = ! flag;
}
}
</script>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【jsp/Java】チェックボックス...
-
タグIDに変数を用いる
-
ファイル選択と同時にアップロ...
-
プルダウンで選択すると、DBの...
-
<JavaScript>tableタグを入力不...
-
jQuery テキストボックス読み取...
-
プルダウン 項目が多いので先頭...
-
文末の改行コードを削除したい
-
コードレビューをお願いします。
-
至急!GetElementById でtdの...
-
別窓ウィンドウから親ウィンド...
-
onchange等のイベントハンドラ...
-
テーブルの行数を可変長にした...
-
VB.NET DateTimeの型について
-
テーブル内のチェックボックス...
-
コピペを禁止するtextarea
-
javascriptで表のます目と画像...
-
return trueとreturn falseの用...
-
COBOLで作ったテキストファイル...
-
フォームのメニューリストを外...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスのON/OFFでVal...
-
【jsp/Java】チェックボックス...
-
チェックボックスで指定したも...
-
JSP内で可変するチェックボック...
-
チェックボックスのON/OFFに応...
-
特定のID(またはクラス)で括ら...
-
チェックが入っていなかったら...
-
複数あるチェックボックスから...
-
チェックボックスに全てチェッ...
-
背景色を変えて未入力チェック...
-
プルダウンメニューから特定曜...
-
スクリプト内でチェックボック...
-
チェックボックスの設定
-
AJAXで生成したHTMLでのチェッ...
-
javascriptで確認ダイアログの...
-
EclipseでSpringを使用し、テー...
-
確認ページからフォームページ...
-
一つのチェックボックスのON/OF...
-
jquery 診断コンテンツにチェッ...
-
オフになっているチェックボッ...
おすすめ情報