jQueryでチェックされたcheckboxの値を取得して配列に格納する方法、また、配列をcheckboxの値に設定する方法 - knt45の日記

よくやるのでメモ。

こんなcheckboxがあるとする。

<input type="checkbox" name="days" value="1"> 月曜 
<input type="checkbox" name="days" value="2"> 火曜 
<input type="checkbox" name="days" value="3"> 水曜 
<input type="checkbox" name="days" value="4"> 木曜 
<input type="checkbox" name="days" value="5"> 金曜 
<input type="checkbox" name="days" value="6"> 土曜 
<input type="checkbox" name="days" value="0"> 日曜 

チェックされたcheckboxの値を取得して配列に格納するのはこう。

var days=[];
$('[name="days"]:checked').each(function(){
  days.push($(this).val());
});

今度は配列の内容をcheckboxの値に設定してみる。

var days = ['0', '1', '2'];
for (var i in days) {
  $('[name="days"]').each(function(){
    if ($(this).val() === days[i]) {
      
      //$(this).attr('checked', 'checked');
      $(this).prop('checked', true);
    }
  });
}