- ベストアンサー
checkbox内で特定の項目だけをチェックする方法
- checkbox内の同じname属性の中から特定の項目だけをチェックさせる方法について教えてください。条件として、name='or52'の部分は変更できません。
- ウェブ上で見つけたコードを使用して、特定の項目だけを一括でチェックする方法を試していますが、エラーが発生しています。
- どうすれば特定の項目だけをチェックできるようになるでしょうか?お手数ですが、ご教示いただけますと幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
JavaScript部分を以下の様にしたらどうでしょう? function checkAll() { for(i=0; i < document.f1.elements["or52"].length; i++){ if(document.f1.elements["or52"][i].id){ document.f1.elements["or52"][i].checked = true; } } } チェックボックスの内、id指定がしてあるものだけチェックします。 おせっかいながら、私なら以下のようにします。 呼び出し元 <input type='button' value='A,B,Cだけを同時にチェック' onclick="checkAll('f1','or52')"> JavaScript部分 function checkAll(form,name){ var objects = document.forms[form].elements[name];//1) var length = objects.length; for(i = 0; i < length; ++i){ flag = objects[i].checked;//2) switch(objects[i].value){//3) case 'A': ; case 'B': ; case 'C': flag = true; break; } objects[i].checked = flag;//3) } } 1)フォームf1内のor52という名前を持っている要素を配列として取得。 2)要素(チェックボックス)の元の値を保存しておく。 3)要素の値(value)がチェックしたい値のものであれば、保存した値をtrueに変更。 4)保存や変更した値を設定する。
お礼
ありがとうございます。 無事、解決しました。