• 締切済み

checkboxにチェックを入れると項目が表示される

教えて下さい。 チェックボックスにチェックを入れると、idやclassで指定されている範囲をjavascriptでリアルタイムに表示させたいのですが、どのようにすればよいでしょうか? 例えば、AというチェックボックスとBというチェックボックスがあって↓ <form name="000"> <input type="checkbox" id="chk1" />チェック1 <input type="checkbox" id="chk2" />チェック2 </form> チェックが入ると、指定した任意のid属性が表示されるようにしたいんです。 例えば、チェック1のチェックボックスにチェックが入ったら"forChk1"を、チェック2にチェックが入ったら"forChk2"みたいな。 <span id="forChk1">チェック1に関する項目</span> <span id="forChk2">チェック2に関する項目</span> javascriptのonClickで実現する方法になるのでしょうか? どなたかご教授頂けると光栄ですm(_ _)m

みんなの回答

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

イベントハンドラーをアタッチしてみました。 <script type="text/javascript"> <!-- window.onload = function () { //@cc_on document./*@if (1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/ 'click', function (evt) { var e = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/; if (e.type=="checkbox"){ document.getElementById("for" + e.id).style.display=e.checked?"":"none"; } }, true); } // --> </script>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

非常に大雑把にやるとこんな感じ。 <style> .hide{ display:none; } </style> <script> window.onload=function(){ var tags=document.getElementsByTagName("input"); for(var i=0;i<tags.length;i++){ if(tags[i].type=="checkbox" && tags[i].id.match(/^chk[0-9]+$/)){ tags[i].onclick=function(){ document.getElementById("for"+this.id).className=this.checked?"":"hide"; } } } } </script> <form> <input type="checkbox" id="chk1" />チェック1 <input type="checkbox" id="chk2" />チェック2 </form> <span id="forchk1" class="hide">チェック1に関する項目</span> <span id="forchk2" class="hide">チェック2に関する項目</span>

関連するQ&A

  • チェックボックスで画像を一括表示

    下記サイトを参照して、 「チェックボックスのON / OFFで画像を表示する」 「全てのチェックボックスのON / OFFを切り替える」 を組み合わせて、 「全てのチェックボックスのON / OFFを切り替えて画像の一括表示」をしたいのですが、全てのチェックボックスのON / OFFの切り替えはできるのですが、それに伴って画像の表示・非表示までは反応しませんでした。各チェックボックスのON / OFFでの画像の表示・非表示は可能です。 http://iswebmag.hp.infoseek.co.jp/sample163.html http://iswebmag.hp.infoseek.co.jp/sample164.html ▼htmlソースです。 <FORM name="f1"> <INPUT type=checkbox name="f1" onClick="show(0,'img01')">朝焼に輝く星<BR> <INPUT type=checkbox name="f1" onClick="show(1,'img02')">木立の隙間から<BR> <INPUT type=checkbox name="f1" onClick="show(2,'img03')">夜明け<BR> <INPUT type=checkbox name="f1" onClick="show(3,'img04')">自転を感じる<BR> <INPUT type=checkbox name="f1" onClick="show(4,'img05')">昼の星空<BR> <INPUT type=checkbox name="f1" onClick="show(5,'img06')">砂丘の月<BR> <INPUT type=checkbox name="f1" onClick="show(6,'img07')">月の軌跡<BR> <INPUT type=checkbox name="f1" onClick="show(7,'img08')">彗星の飛来<BR> <INPUT type=checkbox name="f1" onClick="show(8,'img09')">彗星 <BR> <INPUT type=button value="全てOn" onClick="all_on(this.form.f1)"> <INPUT type=button value="全てOff" onClick="all_off(this.form.f1)"> </FORM> ▼チェックボックスのON / OFFで画像を表示するJavaScript <SCRIPT language="JavaScript"> <!-- function show(c,img){ if(document.f1.elements[c].checked == true){ document.getElementById(img).style.width=200; } else { document.getElementById(img).style.width=0; } } // --> </SCRIPT> ▼全てのチェックボックスのON / OFFを切り替えるJavaScript <SCRIPT language="JavaScript"> <!-- function all_on(chk){ for (i = 0; i < chk.length; i++) { chk[i].checked = true; } } function all_off(chk){ for (i = 0; i < chk.length; i++) { chk[i].checked = false; } } // --> </SCRIPT>

  • フォームの上下に一括チェックボックスを置くには?

    HTML+Javascriptで、選択削除のフォームを作っています。 一覧の上下に一括チェックボックスを置きたいのですが上手く行かないのです。 -------------------- javascript↓ -------------------- //一括チェック用チェックボックス function allcheck() { var count = document.delete.chk.length; var allcheck = document.delete.chk_all.checked; for ( var i=0; i<count; i++) { var check = document.delete.chk[i].checked; if (allcheck == true) { document.delete.chk[i].checked = true; } else { document.delete.chk[i].checked = false; } } } //個別チェック用チェックボックス function check(onjCheck) { if (onjCheck.checked == false) { document.delete.chk_all.checked = false; return; } var count = document.delete.chk.length; for (var i=0; i<count; i++) { if (document.delete.name != "chk_all" && document.delete.chk[i].checked == false) { return; } } document.delete.chk_all.checked = true; } -------------------- HTML↓ -------------------- <form action="" name="delete"> <fieldset> <input type="checkbox" name="chk_all" id="all_head" onclick="allcheck(this)"> <label for="all_head">すべて選択/解除</label> <input type="submit" value="選択した項目を削除"> </fieldset> <fieldset> <input type="checkbox" name="chk" onclick="check(this)"> 項目1 <input type="checkbox" name="chk" onclick="check(this)"> 項目2 <input type="checkbox" name="chk" onclick="check(this)"> 項目3 </fieldset> <fieldset> <input type="checkbox" name="chk_all" id="all_foot" onclick="allcheck(this)"> <label for="all_foot">すべて選択/解除</label> <input type="submit" value="選択した項目を削除"> </fieldset> </form> このように記述しています。 上か下か、片方であれば一括チェックを実現できました。 当方Javascript初心者です。 よろしくご教示願います。

  • チェックボックスのlengthについて

    チェックボックスで以下のソースでは obj.length=[undefined] と表示されます。1という結果ではないのでしょうか? <script type="text/javascript"> <!-- function test(obj){ alert('obj.length=[' + obj.length + ']'); } // --> </script> <form name="test_form"> <input type="checkbox" name="chk" value="">チェック1 <input type="button" value="テスト" onClick="test(document.test_form.chk)"> </form>

    • ベストアンサー
    • HTML
  • javascript checkbox

    完全に初心者です。。 下記のスクリプトをもとに、 ■チェックAをチェックしたら全てチェックされる ■またチェックAをチェックしたら全て外れる ようにしたいです。。 でも何がダメか分かりません。。 一部を書くのではなく出来ればスクリプト全ていただけたらと思います。 あともし宜しければチェックAをチェックしたら、1~6をチェックできないようにもしたいです。。 ご教授よろしくお願いします。。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE></TITLE> <SCRIPT language="JavaScript"> function check(){ for(i=1; i<7; i++){ document.form1.elements[ch[i]].checked = true; } } </SCRIPT> </HEAD> <BODY> 全てのチェックボックスをチェック/解除 <FORM name="form1"> <p><INPUT type="checkbox" id="ch" onclick="check()">チェックA</p>   <INPUT type="checkbox" id="ch1">チェック1   <INPUT type="checkbox" id="ch2">チェック2   <INPUT type="checkbox" id="ch3">チェック3<BR><BR>   <INPUT type="checkbox" id="ch4">チェック4   <INPUT type="checkbox" id="ch5">チェック5   <INPUT type="checkbox" id="ch6">チェック6<BR><BR>   <BR> </FORM> </BODY> </HTML>

  • チェックボックスの全選択

    <input type="checkbox" name="chk" value=1> <input type="checkbox" name="chk" value=2> <input type="checkbox" name="chk" value=3> <input type="checkbox" name="chk" value=4> <input type="checkbox" name="chk" value=5> このように同一名称のチェックボックスに対して ボタンを押下された時全てのチェックボックスを チェックするJavaScriptの 書き方を教えて貰えないでしょうか

  • checkbox ループ

    下記のスクリプトだと、 デバックが16になってしまいます。 これをどうにかして、 AをチェックしたらA内だけをループ、 BをチェックしたらB内だけをループさせたいんですが、 どこをどのように修正すればいいですか?? スクリプトをかなり変えるのは避けたいです。。 教えてください。。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE></TITLE> <SCRIPT language="JavaScript"> function check(n){ document.getElementById('debug').innerHTML = "デバッグ情報"; document.getElementById('debug').innerHTML = document.getElementById('debug').innerHTML + "<br>lengthは" + document.form1.length; for(i=1; i<=document.form1.length; i++){ if(document.form1.elements["ch" + n].checked){ document.form1.elements["ch" + n + "-" + i].checked = true; document.form1.elements["ch" + n + "-" + i].disabled = true; }else{ document.form1.elements["ch" + n + "-" + i].checked = false; document.form1.elements["ch" + n + "-" + i].disabled = false; } } } </SCRIPT> </HEAD> <BODY> 全てのチェックボックスをチェック/解除 <FORM name="form1"> <p><INPUT type="checkbox" id="ch1" onclick="check(1)">チェックA</p> <INPUT type="checkbox" id="ch1-1">チェック1 <INPUT type="checkbox" id="ch1-2">チェック2 <INPUT type="checkbox" id="ch1-3">チェック3<BR><BR> <INPUT type="checkbox" id="ch1-4">チェック4 <INPUT type="checkbox" id="ch1-5">チェック5 <INPUT type="checkbox" id="ch1-6">チェック6<BR><BR> <BR> <p><INPUT type="checkbox" id="ch2" onclick="check(2)">チェックB</p> <INPUT type="checkbox" id="ch2-1">チェック1 <INPUT type="checkbox" id="ch2-2">チェック2 <INPUT type="checkbox" id="ch2-3">チェック3 <INPUT type="checkbox" id="ch2-4">チェック4<BR><BR> <INPUT type="checkbox" id="ch2-5">チェック5 <INPUT type="checkbox" id="ch2-6">チェック6 <INPUT type="checkbox" id="ch2-7">チェック7 <INPUT type="checkbox" id="ch2-8">チェック8<BR><BR> <BR> </FORM> <p id="debug"></p> </BODY> </HTML>

  • checkbox 特定項目だけを、チェックするには

    こんにちは。いつもお世話になります。 checkbox内で、同じnameの中から特定のものだけ チェックさせるにはどうしたら良いでしょうか。 条件として、name='or52'の部分は変更出来ません。 <input type='button' value='A,B,Cだけを同時にチェック' onclick='checkAll();'> <form action='xxx.cgi' method='post' name='f1'> <input name='or5' type='checkbox' value='A'><br> <input name='or5' type='checkbox' value='B'><br> <input name='or5' type='checkbox' value='C'><br> <input name='or5' type='checkbox' value='D'><br> <input name='or5' type='checkbox' value='E'><br> <input name='or5' type='checkbox' value='F'><br> ......... </form> それで、こんなのをウェブから探してきました。 function checkAll() { for (i=0; i<7; i++) document.f1.elements["or52"+i].checked = true; } そして、同時にチェックしたいものだけ下記の様にしました。 <input name='or52' type='checkbox' value='A' id='or51'> <input name='or52' type='checkbox' value='B' id='or52'> <input name='or52' type='checkbox' value='C' id='or53'> 取りあえずできますが、エラーがでます。 「document.f1.elements["..."]は、objまたはnullではない!」 どうか教えて下さい。よろしくお願いします。

  • チェックボックスの値を取り出したい

    こんにちは JavaScript初心者です。 過去ログを見ながらここまでやったのですが、何も表示されません。 ?マークの所で引っかかっていると思うのですがどなたかご教授願います。 やりたい事は、チェックボックスのチェックの入った所の値を取り出して表示したいのですが... 3つチェックされていてOKをクリックした時に、ABC と出てくるのが理想です。 <html> <SCRIPT LANGUAGE="JavaScript"> <!-- function chkform() { for(i=1; i<=3; i++) { chkdata(i) = document.form0.chk(i).Value    ? var aa = chkdata(i) document.write(aa) } } //--></SCRIPT> <FORM onSubmit="return chkform(this)" name = "form0"> <INPUT type="checkbox" name="chk" value="A" > <INPUT type="checkbox" name="chk" value="B" > <INPUT type="checkbox" name="chk" value="C" > <INPUT type="submit" value="OK" > </form> </html>

  • CheckBoxの入力チェックについて

    CheckBoxの入力チェックについて CheckBoxの数は可変です。 全て未チェックのときにalertを表示したいです。 今はチェックしてもalertが表示されてしまいます。 よろしくお願いします。 <html> <head> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>チェックボックス入力チェック</title> <SCRIPT TYPE="text/javascript"> <!-- function item_check() { count = 0; for (i=0;i<=document.form1.elements['item[]'][i].length;i++){ if(document.form1.elements['item[]'][i].checked){ count++; } } if(count==0){ alert("項目を選択してください。"); return(false); } return(true); } --> </SCRIPT> </head> <body> <form name="form1" method="POST" action="test.htm" onSubmit="return item_check()"> <p><input type="checkbox" name="item[]" value="1">項目1</p> <p><input type="checkbox" name="item[]" value="2">項目2</p> <p><input type="checkbox" name="item[]" value="3">項目3</p> <p><input type="checkbox" name="item[]" value="4">項目4</p> <p><input type="checkbox" name="item[]" value="5">項目5</p> <input type="submit" name="kakunin" value="確認"> </form> </body> </html>

  • checkboxクリックされていないidを取得

    <form id="chkform"> <input type="checkbox" name="check" value="aaa" id="aaa">aaa <input type="checkbox" name="check" value="bbb" id="bbb">bbb <input type="checkbox" name="check" value="ccc" id="ccc">ccc                   ・                   ・                    ・ <input type="checkbox" name="check" value="zzz" id="zzz">zzz </form> チェックボックスの複数の項目の内、チェックされていない全てのIDを取得する方法を教えてください。 よろしくお願いいたします。

専門家に質問してみよう