Jquery 从复选框中获取值

Jquery 从复选框中获取值,jquery,checkbox,Jquery,Checkbox,我有复选框,它的值是从数据库填充的。我可以选择和取消选择所有复选框,但我无法获得单个复选框的值。这就是我到目前为止所做的, 对于从数据库填充的复选框: <form> <br> <input type="checkbox" id="All"> <b>Select/DeSelect All</b><br> <?php $sql = 'SELECT Subject_Category from {extdb_subject

我有复选框,它的值是从数据库填充的。我可以选择和取消选择所有复选框,但我无法获得单个复选框的值。这就是我到目前为止所做的, 对于从数据库填充的复选框:

<form>

<br>
<input type="checkbox" id="All"> <b>Select/DeSelect All</b><br>

<?php
$sql = 'SELECT Subject_Category from {extdb_subjects} where level=1 ';
$res = db_query($sql);

foreach ($res as $row)
{
 echo "<input type='checkbox' id='sub_names' name='{$row->Subject_Category}'
    value='{$row->Subject_Category}'";

  echo ">{$row->Subject_Category}";
  echo "<br>";
}
?>

</form>

任何建议都将不胜感激。

这对我来说似乎很奇怪。检查是否选中,然后尝试获取一些任意的复选框值。试试这个

jQuery('#sub_names').change(function() { //This is not able to get the values
  if(jQuery(this).is(':checked')) {
    alert(jQuery("input[type=checkbox]:checked").val());
  } 
}
尝试:


这可能有助于解决您的问题,因为有许多元素具有相同的ID(我认为),因此只有第一个元素具有onChange处理程序。@RC yes,因为在单击复选框时只显示第一个元素值,其余元素无效。请使用类而不是idies,使用类而不是ids。但是仍然存在一个问题,
.val()
将只返回第一个选定元素的值。如果要提醒所有选定元素的值,则需要通过jQuery选择循环来构建字符串。
jQuery('#sub_names').change(function() { //This is not able to get the values
  if(jQuery(this).is(':checked')) {
    alert(jQuery("input[type=checkbox]:checked").val());
  } 
}
   jQuery('input[type=checkbox]').click(function(){
      if(jQuery(this).is(':checked')){
         console.log( $(this).val() )
       }
   })