我有一個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代碼?那麼我將如何提交表格,如果每行的名稱不同。 –