我有复选框,其值从数据库中填充。我可以选择并取消选中所有复选框,但我无法获取单个复选框的值。这是我到目前为止所做的, 对于从数据库填充的复选框:
<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脚本,用于选择de选中所有复选框并单独显示选中的复选框:
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());
}
});
});
任何建议都将受到高度赞赏。
答案 0 :(得分:0)
这对我来说似乎很奇怪。您检查是否选中了 this ,然后尝试获取一些任意复选框值。试试这个。
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() )
}
})