0

チェックボックスのセットと、選択する必要のあるチェックボックスのインデックスを含む配列があります。配列とその中の各インデックスをループしようとしています。サンプルのjsFiddleを作成して、私がやろうとしていることを皆さんに理解してもらいました。それが物事を簡単にするなら、私はJQueryライブラリも持っています。http://jsfiddle.net/7EetA/1/

4

4 に答える 4

1

これを試して:

var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
for (var i = 0; i < arrx.length; i++) {
    document.getElementsByName('cal')[arrx[i]].checked = true;
}
​

jQuery は必要ありません。jsFiddle の例

于 2012-07-12T19:42:08.460 に答える
1
var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;

var calArray = document.getElementsByName("cal");
for (var i = 0; i < arrx.length; i++) {
    calArray[arrx[i]].checked = true;
}
于 2012-07-12T19:43:47.387 に答える
0

jQuery を使用する場合は、入力の名前に基づいて非常に簡単に実行できます。

jQuery('[name="cal"]').each(function(i){jQuery(this).attr('checked', 'checked');});

ただし、必ずしもすべてを選択することが目標ではない場合は、次のようなものを使用できます。

jQuery('[name$="_c"]').each(function(i){jQuery(this).attr('checked', 'checked');});

名前の末尾に _c がある入力のみをチェックします。

http://jsfiddle.net/7EetA/9/

于 2012-07-12T21:25:49.177 に答える
0

jQuery の使用を主張する場合:

var arrx=new Array();
arrx[0]=4;       
arrx[1]=5;
arrx[2]=3;
arrx[3]=1;
var i = 0;
$('[name=cal]').each(function() { 
    if ($.inArray(i, arrx) != -1) {
        $(this).prop('checked',true);
    }
    i++;
});

実施例

于 2012-07-12T19:51:45.550 に答える