我有一个while循环只有一个测试复选框,我从数据库中获取数据:允许检查内部,而
while($row = mysqli_fetch_array($skillsResult))
{
$id = $row['id'];
$driver = $row['driver'];
$subdriver = $row['subdriver'];
$dep = $row['department'];
$skill = $row['skills'];
$vrgood = $row['4'];
$good = $row['3'];
$middle = $row['2'];
$low = $row['1'];
?>
<br/><br/>
<fieldset>
<legend id="q1" class="desc notranslate">
<?php echo $no++; ?>
</legend>
<div class="full_qst">
<div class="drvr"> <?php echo $driver; ?> </div><span class="divider">|</span>
<div class="sbd_drvr"> <?php echo $subdriver; ?> </div><span class="divider">|</span>
<div class="qst"> <?php echo $skill; ?> </div>
<div class="mrk">
<span>
<label class="choice" for="q1_a" >
<input class="q" name="q1_a[]" type="checkbox" value="<?php echo $low ?>" />
1</label>
</span>
<span>
<label class="choice" for="q1_a" >
<input class="q" name="q1_a[]" type="checkbox" value="<?php echo $middle ?>" />
2</label>
</span>
<span>
<label class="choice" for="q1_a" >
<input class="q" name="q1_a[]" type="checkbox" value="<?php echo $good ?>" />
3</label>
</span>
<span>
<label class="choice" for="q1_a" >
<input class="q" name="q1_a[]" type="checkbox" value="<?php echo $vrgood ?>" />
4</label>
</span>
</div>
</div>
</fieldset>
<?php
$count++;
}
我避开15条记录。我想要的是允许用户单独检查每一行的复选框,并允许他们只检查同一行上的框。 因此,而不是这样的:
我试图实现这一点:
$('.mrk input#q').on('change', function() {
if($(this).is(':checked')){
$(':checkbox[name="' + $(this).prop('name') + '"]').not($(this)).prop('checked',false);
}
});
但取消选择在上线之前的框,让我只能选择整个页面中的一个复选框。有没有办法解决它?
工作一半。它不允许用户检查同一行上的多个值,但是当我不想检查下一个值时,它会取消选中前一行的值。所以它允许我只检查一个复选框 –
您需要在复选框名称中添加增加的数字,每行一次复选框名称是唯一的,代码将正常工作! –
你的意思是我需要在php代码中做到这一点吗?或内部的JS代码?那么我将如何提交表格,如果每行的名称不同。 –