• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックスが複数ある場合の値取得について)

チェックボックスが複数ある場合の値取得について

このQ&Aのポイント
  • チェックボックスのグループが複数ある場合に、値取得のロジックをまとめて1つのロジックで取得する方法を紹介します。
  • サンプルソースでは、チェックボックスのグループが3つで、チェックボックスの値取得のソースも3つ記述しています。チェックボックスのグループを50個設置すると、50回値取得のソースを記述することになってしまうので、1つの記述にまとめたいです。
  • 以下の方法で、チェックボックスの値取得のロジックを1つにまとめることができます。まず、チェックボックスのグループごとにループを回し、選択された値を配列に格納します。最後に、配列の中身を文字列に変換して表示させることで、まとめて値を取得することができます。

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

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

冗長すぎていまいち理解できないところもあるので こんな感じでどうでしょうか? <script> function func(f){ var txt={"c1":"チェック1","c2":"チェック2","c3":"チェック3"}; var moji=""; for(var i in txt){ var n=f.elements[i]; moji+=txt[i]+":"; if(!n.length){ moji+=((n.checked)?n.value:"未選択")+"\n"; }else{ var temp=""; for(var j=0;j<n.length;j++){ if(n[j].checked){ if(temp!="") temp+="+"; temp+=n[j].value; } } moji+=(temp!=""?temp:"未選択")+"\n"; } } alert(moji); } </script> <form> <p> ななし:<input type="checkbox" value="1"> 1:<input type="checkbox" name="c1" value="1"> <input type="checkbox" name="c1" value="2"> <input type="checkbox" name="c1" value="3"> 2:<input type="checkbox" name="c2" value="1"> 3:<input type="checkbox" name="c3" value="1"> <input type="checkbox" name="c3" value="2"> <input type="button" value="check" onclick="func(this.form)"> </p> </form>

megane5050
質問者

お礼

ありがとうございます!! お礼が遅くなりまして、申し訳ありませんでした。 elementsを使うんですね。 かなりすっきりし、助かりました!

関連するQ&A

専門家に質問してみよう