将动态值传递到复选框

时间:2017-12-22 11:18:53

标签: php jquery

我的代码中有几个复选框。名字是一样的;只有值不同。基本上我是使用GET请求创建搜索功能,所以在点击搜索按钮后,我想检查点击搜索按钮后检查的复选框。

HTML

<?php     
foreach ($categories as $a):?>
<input type="checkbox" name="courses"  value="<?=$a['id']?>"<?=$a['course_name']?><br>
<?php endforeach;
?>

的JavaScript

str='<?=$_GET["courses"]?>';
var partsOfStr = str.split('-');

partsOfStr.forEach(function(item, index, partsOfStr) {
     $('input[type=checkbox][value=""+item+""]').attr('checked', 'checked');
});

我收到此错误:

  

语法错误,无法识别的表达式:input [type = checkbox] [value =“”+ item +“”]

但这完全没问题:

  $('input[type=checkbox][value='2']').attr('checked', 'checked');

2 个答案:

答案 0 :(得分:2)

将语法更改为以下表达式。

   $('input[type=checkbox][value='+item+']').attr('checked', 'checked');

答案 1 :(得分:2)

简单的拼写错误。另外,使用.prop()

$('input[type=checkbox][value="'+item+'"]').prop('checked', true);
//----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^