checkboxの選択数制限と排他処理について

このQ&Aのポイント
  • 質問文章からcheckboxの選択数制限と排他処理についての解説です。
  • チェックボックスを使用したクイズサイトにおいて、正解数以上のチェックをした場合に最初にチェックした方のチェックが外れる仕組みの組み込み方法を説明します。
  • 選択数の制限や排他処理については理解できるが、具体的な実現方法が分からない場合の解決策についても説明します。
回答を見る
  • ベストアンサー

checkboxの選択数制限と排他処理について

javascript初心者です。よろしくお願い致します。現在チェックボックスを使用したクイズサイトを作成しており、回答が5つの中から正しいものをチェックし送信するというものです。 その中で、正解数(今回は2つ)以上にチェックをした時に最初にチェックした方のチェックボックスのチェックが外れるという仕組みを組み込む事になりました。 選択数に制限をかけることや排他処理(ラジオボタン)は理解できるのですが、上記の実現方法がどうしても分からず質問させていただきました。 どうかよろしくお願い致します。 <html> <head> <script type="text/javascript"> function check(f,o,m){ var c = i = 0, b = f.elements; for (i; i < b.length; i++) if(b[i].type&&b[i].type=='checkbox'&&b[i].checked&&b[i].parentNode.id==o) c++; for (i = 0; i < b.length; i++) if(b[i].type&&b[i].type=='checkbox'&&!b[i].checked&&b[i].parentNode.id==o) b[i-2].checked=false;// これだと2つ前ではなく2番目のチェックボックスが排他になります。 } </script> </head> <body> <form action="#" id="sampleform" onclick="check(this,'options',2);"> <fieldset id="options"><input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> <input type="checkbox" name="" value=""><br> </fieldset> </form> </body> </html>

  • ilir
  • お礼率50% (3/6)

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

>最初にチェックした方のチェックボックスのチェックが外れるという仕組み というためには、チェックした順番を記憶しておく必要があります。 ごく簡単な例 * 必ずfieldsetでグループ化されていると仮定しています(要id) * 初期状態は全てチェックがクリアされていると仮定  (チェック状態でリロードしたりする場合は、修正の要あり) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function checker(evt, max){ var t = evt.target || evt.srcElement; if (t.nodeName != "INPUT" || t.type != "checkbox") return; var lng, rec, i, p = t.parentNode; if (p.nodeName != "FIELDSET" || !p.id) return; if (undefined == this.record) this.record = {}; if (!this.record[p.id]) this.record[p.id] = []; rec = this.record[p.id], lng = rec.length; if (t.checked){ rec.push(t); if (lng >= max) rec.shift().checked = false; } else { for (i=0; i<lng; i++){ if (t == rec[i]) {rec.splice(i, 1); break; } } } } //--> </script> </head> <body> <form> <fieldset id="options" onclick="checker(event, 2)"> <input type="checkbox" name="" value="1">1<br> <input type="checkbox" name="" value="2">2<br> <input type="checkbox" name="" value="3">3<br> <input type="checkbox" name="" value="4">4<br> <input type="checkbox" name="" value="5">5 </fieldset> <fieldset id="options1" onclick="checker(event, 3)"> <input type="checkbox" name="" value="1">6<br> <input type="checkbox" name="" value="2">7<br> <input type="checkbox" name="" value="3">8<br> <input type="checkbox" name="" value="4">9<br> <input type="checkbox" name="" value="5">10 </fieldset> </form> </body> </html>

ilir
質問者

お礼

ありがとうございます。まさに上記のような動作を考えておりました。配列のレコードを使用するのですね、複雑そうですが、勉強させていただきます。 本当にありがとうございました。

その他の回答 (5)

回答No.6

>その中で、正解数(今回は2つ)以上にチェックをした時に最初にチェックした方のチェックボックスのチェックが外れるという仕組みを組み込む事になりました。 どの順番でチェックしたかというのを変数(バッファ)に保存しておいて、 2つ以上チェックされたら、そのバッファの古い方からチェックを外していく、という考え方で良いと思います。

回答No.5

#3,4 です あれこれ、ごしてきをうけました。 さて、 click イベントだけ、みるのは、ふじゅうぶんだそうです。きぼーどからだとやりほうだい。 そもそも、さいだいすうをこえたときに、けいこくをはっするのがとくさく。 にゅうりょくちをプログラムがわであんいにへんこうしてはならないとのこと。 しか~し、HTMLにも、もんだいがあったので、さいあっぷ。 <!DOCTYPE html> <title></title> <body> <form action="#">  <p id="hoge" onclick="hogeCheck(event)" onchange="hogeCheck(event)">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">  </p>  <p id="huga" onclick="hugaCheck(event)" onchange="hogeCheck(event)">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">  </p> </form> <script type="application/javascript;version=1.8">  function ExclusiveCheckboxChecker (group, length) {  var checkboxs = group.querySelectorAll ('input[type="checkbox"]:checked');  var buffer = [];  Array.forEach (checkboxs, function (c) {   (buffer.length < length)   ? buffer.push (c)   : c.checked = false  });  return function (evt) {   var checkbox = evt.target;   var func = (function (b) b !== checkbox);      ('checked' in checkbox)   ? (checkbox.checked)    ? (buffer.every (func))     ? let (d = buffer.push (checkbox))      (length < buffer.length)      ? (buffer.shift ()).checked = false      : null     : null    : buffer = buffer.filter (func)   : null;  } } var hogeCheck = ExclusiveCheckboxChecker (document.querySelector('#hoge'), 2); var hugaCheck = ExclusiveCheckboxChecker (document.querySelector('#huga'), 3); </script>

ilir
質問者

お礼

ご回答いただきありがとうございます。お忙しい中、こんなに手を貸していただいて本当にすいません もう少し勉強させていただきます。

回答No.4

#3です。ひるめしたべてながめたら、みすはっけん! function ExclusiveCheckboxChecker (group, length) {  var buffer = [];    return function (evt) {   var checkbox = evt.target;   var checkboxs = group.querySelectorAll ('input[type="checkbox"]');   var func = function (b) b !== checkbox;      'checked' in checkbox   ? checkbox.checked    ? buffer.every (func)     ? (buffer.push (checkbox), (length < buffer.length))      ? (buffer.shift ()).checked = false      : null     : null    : buffer = buffer.filter (func)   : null;  } } evt.target が、かならずしも checkbox とはかぎらない。これだと radio もとおるけど、そこはそれ・・・ buffer.every (func) も、ちょっとへんこう。(ちょっとfujillinさんに近いか?)

回答No.3

そんなのひるめしまえだぁ~! とおもったら、すぎていた。 Firefox ならうごくと・・・ ぜんかくくうはくは、はんかくにしてちょ。 <!DOCTYPE html> <title></title> <body> <form action="#" id="hoge">  <p id="hoge" onclick="hogeCheck(event)">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">  <p>  <p id="huga" onclick="hugaCheck(event)">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">   <input type="checkbox">  <p> </form> <script type="application/javascript;version=1.8">  function ExclusiveCheckboxChecker (group, length) {  var buffer = [];    return function (evt) {   var checkbox = evt.target;   var checkboxs = group.querySelectorAll ('input[type="checkbox"]');   var func = function (b) b !== checkbox;      checkbox.checked   ? Array.every (buffer, func)    ? (buffer.push (checkbox), (length < buffer.length))     ? (buffer.shift ()).checked = false     : null    : null   : buffer = buffer.filter (func);  } } var hogeCheck = ExclusiveCheckboxChecker (document.querySelector('#hoge'), 2); var hugaCheck = ExclusiveCheckboxChecker (document.querySelector('#huga'), 3); </script>

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

私の理解がまちがっていたらごめんなさい。 5設問中2つ答えていいという意味であればこんな感じ <script> function check(o){ var c=0; var f=o.form; for (i=0; i < f.length; i++){ if(f[i].type && f[i].type=='checkbox' && f[i].checked==true) c++; } for (i=0; i < f.length; i++){ if(f[i].type && f[i].type=='checkbox' && f[i].checked==false) f[i].disabled=(c>=2); } } </script> <form> <fieldset id="options"> <input type="checkbox" name="" value="" onclick="check(this);">1<br> <input type="checkbox" name="" value="" onclick="check(this);">2<br> <input type="checkbox" name="" value="" onclick="check(this);">3<br> <input type="checkbox" name="" value="" onclick="check(this);">4<br> <input type="checkbox" name="" value="" onclick="check(this);">5<br> </fieldset> </form> 単純にラジオボタン風に処理したいならこんな感じ <script> function check(o){ var f=o.form; for (i=0; i < f.length; i++){ if(f[i].type && f[i].type=='checkbox' && f[i]!=o) f[i].checked=false; } } </script> <form> <fieldset id="options"> <input type="checkbox" name="" value="" onclick="check(this);">1<br> <input type="checkbox" name="" value="" onclick="check(this);">2<br> <input type="checkbox" name="" value="" onclick="check(this);">3<br> <input type="checkbox" name="" value="" onclick="check(this);">4<br> <input type="checkbox" name="" value="" onclick="check(this);">5<br> </fieldset> </form>

ilir
質問者

お礼

さっそくのご回答ありがとうございます 初めて利用させていただいたのですが回答の早さに驚きました。ありがとうございます

関連するQ&A

  • 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ではない!」 どうか教えて下さい。よろしくお願いします。

  • 大量のcheckboxにcheckedを入れる

    チェックボックスが50個あります。 送信ボタンを押して元のページを再度開きます。 そのときにチェックしたボックスにチェックを入れた状態にしたいです。 inputタグの中に<?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>を入れていますが単調になってしまいます。 単調にならずにする方法はありますか? <input type="checkbox" name="chk1[]" value="a1" />の場合はインデックスが固定でないのでできませんでした。 その他いけない箇所があれば教えて下さい。 お願いします。 <?php if(isset($_GET["chk1"])){ $checkbox1 = $_GET["chk1"]; for($i=0; $i<sizeof($checkbox1); $i++){ print $checkbox1[$i]."<br />"; } } if(isset($_GET["chk2"])){ $checkbox2 = $_GET["chk2"]; foreach($checkbox2 as $key => $val){ print $val."<br />"; } } ?> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form method="get" action="checkbox.php"> <input type="checkbox" name="chk1[]" value="a1" /> <input type="checkbox" name="chk1[]" value="a2" /> <input type="checkbox" name="chk1[]" value="a3" /> <input type="checkbox" name="chk1[]" value="a4" /> <input type="checkbox" name="chk1[]" value="a5" /> <input type="checkbox" name="chk1[]" value="a6" /> <input type="checkbox" name="chk1[]" value="a7" /> <input type="checkbox" name="chk1[]" value="a8" /> <input type="checkbox" name="chk1[]" value="a9" /> <input type="checkbox" name="chk1[]" value="a10" /> <br /> <input type="checkbox" name="chk2['b1']" value="b1" <?php if(isset($checkbox2) && in_array('b1',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b2']" value="b2" <?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b3']" value="b3" <?php if(isset($checkbox2) && in_array('b3',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b4']" value="b4" <?php if(isset($checkbox2) && in_array('b4',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b5']" value="b5" <?php if(isset($checkbox2) && in_array('b5',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b6']" value="b6" <?php if(isset($checkbox2) && in_array('b6',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b7']" value="b7" <?php if(isset($checkbox2) && in_array('b7',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b8']" value="b8" <?php if(isset($checkbox2) && in_array('b8',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b9']" value="b9" <?php if(isset($checkbox2) && in_array('b9',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b10']" value="b10" <?php if(isset($checkbox2) && in_array('b10',$checkbox2)){echo ' checked';} ?>/> <br /> <input type="submit" value="送信" /> </form> </body> </html>

    • 締切済み
    • PHP
  • JavaScriptでcheckboxの入力個数制限

    以下のようなチェックボックスがあります。 3つ以上チェックできないようにしたいのですが、JavaScriptで可能でしょうか? <FORM method=POST action="aaa.cgi" name="FORM1"> <input type="checkbox" name="Q1" value="1">1<br> <input type="checkbox" name="Q2" value="1">2<br> <input type="checkbox" name="Q3" value="1">3<br> <input type="checkbox" name="Q4" value="1">4<br> <input type="checkbox" name="Q5" value="1">5<br> </form>

  • チェック出来る数を制限&チェックされない場合0

    【チェックボックスにチェック出来る数を制限しながら、チェックされない場合には0を入力する】ということが希望です。 それぞれを分離させた場合は、下記で可能でした。 この2つを同時に満たす方法が分かりません。 ご教授頂きたくお願いいたします。 【チェックボックスにチェック出来る数を制限する方法】 <SCRIPT language="JavaScript"> <!-- // チェックボックスに使用している名前 chn = new Array("ch1","ch2","ch3","ch4","ch5"); chc = 3; // チェックできる数 // チェックボックスにチェックできる数を制限する function chBx(cn){ cnt = 0; for(i=0; i<chn.length; i++) { if(document.form1.elements[chn[i]].checked) cnt++; } if(cnt > chc) { alert("チェックできる項目は" + chc + "個までです"); document.form1.elements[cn].checked = false; } } //--> </SCRIPT> <input type="checkbox" name="ch1" value="2" onClick="chBx('ch1')"> <label for="type1">1</label> <BR> <input type="checkbox" name="ch2" value="2" onClick="chBx('ch2')"> <label for="type1">2</label> <BR> <input type="checkbox" name="ch3" value="3" onClick="chBx('ch3')"> <label for="type1">3</label> <BR> <input type="checkbox" name="ch4" value="4" onClick="chBx('ch4')"> <label for="type1">4</label> <BR> <input type="checkbox" name="ch5" value="5" onClick="chBx('ch5')"> <label for="type1">5</label> <BR> 【チェックボックスがチェックされない場合に0を入力する】   <input type="hidden" name="ch1" value="0">   <input type="checkbox" onclick="this.form.ch1.value=this.checked ? 1 : 0">   <input type="hidden" name="ch2" value="0">   <input type="checkbox" onclick="this.form.ch2.value=this.checked ? 1 : 0">   <input type="hidden" name="ch3" value="0">   <input type="checkbox" onclick="this.form.ch3.value=this.checked ? 1 : 0">   <input type="hidden" name="ch4" value="0">   <input type="checkbox" onclick="this.form.ch4.value=this.checked ? 1 : 0">   <input type="hidden" name="ch5" value="0">   <input type="checkbox" onclick="this.form.ch5.value=this.checked ? 1 : 0"> 上記を同時に満たしたいというのが今回の質問の趣旨です。

  • 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>

  • ドロップダウンメニューで選択された内容通りにチェックを入れるJS

    ドロップダウンメニューで選択された内容通りにチェックを入れるJS をご教示下さい。 なお、本番環境で対象とするチェックボックスのnameは、全てchkで始まっている法則性があります。 よろしくお願い致します。 <html> <head> <script type="text/javascript"> <!-- // --> </script> </head> <body> <form> <select name="myselect"> <option selected>全てにチェック</option> <option>全てチェック解除</option> <option>奇数だけチェック</option> <option>偶数だけチェック</option> <option>1、6、8番だけチェック</option> <option>3番以降全てチェック</option> </select> <br> <input type="checkbox" value="1" name="chk01" checked>1番<br> <input type="checkbox" value="1" name="chk02" checked>2番<br> <input type="checkbox" value="1" name="chk03" checked>3番<br> <input type="checkbox" value="1" name="chk04" checked>4番<br> <input type="checkbox" value="1" name="chk05" checked>5番<br> <input type="checkbox" value="1" name="chk06" checked>6番<br> <input type="checkbox" value="1" name="chk07" checked>7番<br> <input type="checkbox" value="1" name="chk08" checked>8番<br> <input type="checkbox" value="1" name="chk09" checked>9番<br> <input type="checkbox" value="1" name="chk10" checked>10番 </form> </body> </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>

  • チェックボックスの表示・非表示 動作

    はじめまして。 初めて掲示板を利用させていただきます。javascriptを勉強しまだ日が浅いのでご存知の方がいらっしゃれば教えてください。 今、チェックボックスを選択し選択した項目がアクティブになるようにしたいのですが、選択項目が重複すると以下のようになってしまいました。 A+AB=AB A+AB+E=ABE 個々までは問題なし。 既に全てのチェックが付いた上体で、ABCE-A=BCE となってしまい、 ABのチェックが入っていても、Aが消えてしまいます。 以下に現在のコードを張ります。 <script type='text/javascript'> <!-- function fchk2(obj, name) { var frm=obj.form; if(obj.checked==true) { /* チェックボックスが選択されている場合は、   テキストボックスを有効化(false)*/ for(var i=1; i<=3; i++){ frm.elements[name+i].disabled=false; } } else { for(var i=1; i<=3; i++){ /* 無効化する前に、入力値をクリア */ if(name=='t'){ /* テキストボックスの場合 */ frm.elements[name+i].value=''; }else{ /* チェックボックスの場合 */ frm.elements[name+i].checked=false; } /* 無効化(true) */ frm.elements[name+i].disabled=true; } } } //--> </script> <form name='form2' action='#'> <input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t")' checked>A<br> <input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t");fchk2(this,"b");' checked>AとB<br> <input type='checkbox' name='chk1' value='1' onclick='fchk2(this,"t");fchk2(this,"e");' checked>AとE<br> <input type='checkbox' name='chk2' value='1' onclick='fchk2(this,"c");fchk2(this,"e");' checked>CとE<br> <br> A<input type='text' name='t1' value='テキストA'><br> A<input type='text' name='t2' value='テキストB'><br> A<input type='text' name='t3' value='テキストC'><br> <br> B<input type='text' name='b1' value='テキストA'><br> B<input type='text' name='b2' value='テキストB'><br> B<input type='text' name='b3' value='テキストC'><br> <br> <input type='checkbox' name='c1' value='1'> 選択肢C<br> <input type='checkbox' name='c2' value='1'> 選択肢C<br> <input type='checkbox' name='c3' value='1'> 選択肢C<br> <br> <input type='checkbox' name='e1' value='1'> 選択肢E<br> <input type='checkbox' name='e2' value='1'> 選択肢E<br> <input type='checkbox' name='e3' value='1'> 選択肢E </form> よろしくお願いいたします。

  • AJAXで生成したHTMLでのチェックボックス一括チェックの方法を教えてください

    現在jqueryを使って、ajaxでチェックボックスを生成して、それに対して一括チェックボタンを付けたいと考えております。 <input name="allcheck" type="checkbox" id="checkall" checked="checked" />全て<br /> <input type="checkbox" name="carrier" value="docomo" checked="checked" />docomo<br /> <input type="checkbox" name="carrier" value="au" checked="checked" />au<br /> <input type="checkbox" name="carrier" value="softbank" checked="checked" />softbank<br /> というチェックボックスがajaxで生成されて function carrier_check() { $('#checkall').click(function(e){ $(':checkbox[type=checkbox][name=carrier]').attr('checked', $('#checkall').attr('checked')); }); } のjavascriptで上記のチェックボックスを一括チェックできるようにしようとしているのですが ajaxを使わずに上記のチェックボックスをHTMLに書いているときは一括チェックできるのですが、ajaxを使用して生成した場合にはチェックボックスの一括チェックができません。 どのようにすれば、ajaxで生成されたチェックボックスを一括チェックできるようになるのでしょうか? ご存知の方がいらっしゃいましたらご教授お願いいたします。

  • CGIでチェックボックスを使う方法

    チェックボックスをCGI(C言語)で使用する方法を教えて下さい。 例えば、HTMLで <input type="checkbox" name="Check1" value="Sel11" /> チェック1 選択1<br /> <input type="checkbox" name="Check1" value="Sel12" /> チェック1 選択2<br /> <input type="checkbox" name="Check1" value="Sel13" /> チェック1 選択3 <hr /> <input type="checkbox" name="Check2" value="Sel21" checked /> チェック2 選択1<br /> <input type="checkbox" name="Check2" value="Sel22" /> チェック2 選択2<br /> <input type="checkbox" name="Check2" value="Sel23" checked /> チェック2 選択3 というプログラムはCGI(C言語)ではどの様に記述すれば良いでしょうか?

    • ベストアンサー
    • CGI

専門家に質問してみよう