我创建了一个测试和回答系统。每个问题可以有一个或多个答案,例如“请标记 1 个答案”、“请标记 3 个答案”等。
是否可以根据此限制用户可以检查的复选框数量?如果问题需要 1 个答案,那么他们只能选中 1 个复选框。
<?php foreach ($rows as $row){ ?>
<input type="checkbox" name="answer<?php echo $counter; ?>[]" value="<?php echo the_sub_field('answer'); ?>" />
<?php echo $row['answer']; ?>
<?php } ?>
它循环遍历并提取每个答案,每个问题所需的答案数量是动态的,并由该字段控制(可以是 1、2、3 等):
<?php echo $repeater_row['required_answers']; ?>
使用下面的 jquery,虽然这不是动态的:
$(document).ready(function () {
if ($("input:checkbox:checked").length >= 3) {
$("input:checkbox").not(":checked").attr("disabled", 3);
}
$("input:checkbox").click(function () {
var bol = $("input:checkbox:checked").length >= 3;
$("input:checkbox").not(":checked").attr("disabled", bol);
});
});
我怎样才能动态地做到这一点?每个问题都有以集合命名的答案,所以第一个问题有一个答案集,用他们的输入命名name="answer1[]"
,第二个问题有一个答案集name="answer2[]"
,依此类推。