やりたいこと
フォーム内にチェックボックスが約20個あり、その値をチェックしたい。
幸いなことにチェックボックスはすべてYes、Noを選択するものばかり。
チェックボックスの値は以下のコマンドで取得できる。fieldName部分を変数に置き換えたい。
var yesNo = $('input[name="fieldName"]:checked').val();
行ったこと
まず、チェックボックス名を配列にしてループさせた。
var arr = ['ch1yesno','bd_2yesno',ch3yesno',ch4yesno','ch5yesno','ch6yesno','ch7yesno',‥‥ ];
$.each(arr, function(index, value) {
・
・
})
次が本題で、オブジェクト名の一部を変数に置き換えた。
文字列の連結と同じで、+ を使用した。
var yesNo = $('input[name="' + value + '"]:checked').val();
ラジオボタンがYes、Noのいずれであれ、選択されているかどうかをチェックしたかったので、
if (yesNo=="Yes" || yesNo=="No") {
・
・
}
とした。
まとめ
var arr = ['ch1yesno','bd_2yesno',ch3yesno',ch4yesno','ch5yesno','ch6yesno','ch7yesno',‥‥ ];
$.each(arr, function(index, value) {
var yesNo = $('input[name="' + value + '"]:checked').val();
if (yesNo=="Yes" || yesNo=="No") {
・
return false; // ラジオボタンが一つでも選択されていたら値チェックを終了
}
})
オブジェクトの要素を変数に置き換える方法をWebで検索し、
成功するまでに3時間以上かかった。
同じことを繰り返さないために記事にしました。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image