アプリ版:「スタンプのみでお礼する」機能のリリースについて

データベースから、データを持ってきて、複数のグループに分けてまとめてチェックを入れようとしています。

複数のチェックボックスがある場合はいいのですが、チェックボックスが一つしかない場合に
チェックが入りません。

どの様に変更すれば、一つでもチェックが入るようになるでしょうか?

以下の様なサンプルコードを見ながら、作成しています。

function AllChecked1(){
var check = document.form.a1.checked;

for (var i=0; i<document.form.elements['aa1[]'].length; i++){
document.form.elements['aa1[]'][i].checked = check;
}
}


<form name="form" method="POST" action="select1.php">

<input type="checkbox" name="a1" id="a1" onClick="AllChecked1();" /><label for="a1">
group1 全選択</label>

<input type="checkbox" name="aa1[]" id="aa11" value="1" /><label for="aa11">名前1</label><br />

</form>


よろしくお願いいたします。

A 回答 (1件)

elementsがlengthプロパティを持つかどうかで場合分けを書けばよいでしょう


(lengthを持っていれば配列なのでforで回す、もってなければ単なるオブジェクト)

<script>
function AllChecked1(obj){
var ele = obj.form.elements['aa1[]'];
if(ele.length){
for (var i=0; i<ele.length; i++){
ele[i].checked = obj.checked;
}
}else{
ele.checked = obj.checked;
}
}
</script>


<form>
<input type="checkbox" onclick="AllChecked1(this);">全選択<br>
<input type="checkbox" name="aa1[]" value="1">名前1<br>
</form>

<form>
<input type="checkbox" onclick="AllChecked1(this);">全選択<br>
<input type="checkbox" name="aa1[]" value="1">名前1<br>
<input type="checkbox" name="aa1[]" value="2">名前2<br>
<input type="checkbox" name="aa1[]" value="3">名前3<br>
</form>
    • good
    • 0
この回答へのお礼

ありがとうございました。

一つしか無いのに、配列で扱えるわけありませんよね、
初心者の質問にありがとうございました!

また、機会がありましたらよろしくお願いいたします。

お礼日時:2013/07/11 14:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!