0

我正在寻找一种基于 Codeigniter 的解决方案,我可以在其中从 MySQL 表中加载一个页面,其中的复选框包含对 ID 卡背面的背书。我已经能够加载带有 5 列 x 10 行复选框的页面,效果很好。

我无法做的是将选择限制为 50 个中的 9 个,并将复选框值发布到另一个页面。

如果我使用 jquery 通过以下语句禁用其余未选中的框:

“$inputs.not(this).prop('disabled',true);”

它只会发布最后选择的选项。另一方面,如果我没有禁用复选框或在限制之前提交,那么帖子可以正常使用下一页上包含我选择的背书的数组。我一直在尝试多种方法在 Codeigniter 中完成此任务并寻找解决方案,但无济于事。如果有人可以帮助我,将不胜感激。我即将完成这个项目,并且已经为此苦苦挣扎了一段时间。

以下是我在网上找到的我使用的脚本:

<script>
$(document).ready(function () {
$('input:checkbox').click(function(){
var $inputs = $('input:checkbox')
if($(":checkbox").filter(':checked').length==9){
$inputs.not(this).prop('disabled',true); 
}else{
$inputs.prop('disabled',false);
}
})
})
</script>
4

1 回答 1

0

您可以这样做,例如在选中任何复选框时添加选中的类,当限制达到 9 时禁用所有复选框,然后从选中类的复选框中删除 disabled 属性

<script>
$(document).ready(function () {
$('input:checkbox').click(function(){
$(this).addClass("checked");
var $inputs = $('input:checkbox')
if($(":checkbox").filter(':checked').length==9){
$("input[type=checkbox]").prop('disabled',true); 
$(".checked").removeAttr("disabled");

// submit the form 
}else{
$inputs.prop('disabled',false);
}
})
})
</script>
于 2013-07-08T20:44:14.397 回答