如果复选框被选中,我正在使用以下 ajax javascript 来传递值,我面临的问题是它仅适用于 mysql fetch aray 的第一行,而对于其余结果,它总是发送 checkboxstatus = 1 因此,无论复选框是否被选中。这是代码:
<script>
$(document).ready(function(e) {
$('input[name=status]').change(function(){
if( $('input[name=status]').prop('checked') )
{checkboxstatus = '1';}
else
{checkboxstatus = '0';}
var idm = $(this).attr('idm');
$.ajax({
type: "POST",
url: "checkboxtestbackend.php",
data: {"checkboxstatus": checkboxstatus,
"idm":idm
},
})
.fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
});//end change
});//end ready
</script>
通常,如果我取消检查复选框,它将 POST 的 0 作为 value ,则在第一个 sql fetch 中检查所有 checkgoxes,但对于其余的 sql fetch 结果,无论是否选中,它总是发送“1”作为 POST 结果。
这是显示复选框的代码:<?php echo "<input type='checkbox' idm='$idm' name='status'"; if($row['status'] == 1){print "checked='checked'"; }echo "/>";?>
复选框状态的可视化正在工作,但没有进行更改。
这是它的 sql 查询:
$sql = "SELECT * FROM cursos ORDER BY id DESC";
if (!$result = mysqli_query($con,$sql))
{
die("Error: " . mysqli_error($con));
}
<?php
while($row = mysqli_fetch_array($result))
{
$idm = $row['id'];
?>
<td align="center"><?php echo "<input type='checkbox' idm='$idm' name='status'"; if($row['status'] == 1){print "checked='checked'"; }echo "/>";?></td>