0

チェックボックスがあり、その値はデータベースから入力されています。すべてのチェックボックスを選択および選択解除できますが、個々のチェックボックスの値を取得できません。これは、データベースから入力されたチェックボックスに対して、これまでに行ったことです。

<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スクリプト:

jQuery(function(){

 jQuery('#All').change(function() {


    var checkboxes = jQuery(this).closest('form').find(':checkbox');

    if(jQuery(this).is(':checked')) {
        checkboxes.attr('checked', 'checked');


    } else {
        checkboxes.removeAttr('checked');

    }


    });

  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());


    } 


    });

});

任意の提案をいただければ幸いです。

4

1 に答える 1

0

これは私には奇妙に思えます。これがチェックされているかどうかを確認してから、任意のチェックボックスの値を取得しようとします。これを試して。

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() )
       }
   })
于 2013-03-02T09:25:46.180 に答える