-2

我发现了很多关于如何使用 jQuery 验证是否选中了表单中的一个复选框,但我的问题不止于此:目前我正在处理一个表单(Johari 窗口),它要求用户检查 56 个项目中的 6 个使用带有 56 个复选框的简单表单。

你能指出我正确的方向吗?

编辑: 这成功了,再次感谢您的帮助!

$('form').submit(function(e){
    if($('input[type="checkbox"]:checked').length < 6 ){
        e.preventDefault();     alert("Please select 6 items!");
    } });
4

7 回答 7

1

检查选中复选框的长度

$('input[type="checkobox"]:checked').length;

你可以这样做

$('form').submit(function(e){
    if($('input[type="checkobox"]:checked').length < 6 ){
        e.preventDefault(); //to stop form submission 
    }
});

参考

event.preventDefault

:检查

。长度

于 2013-10-01T15:42:02.470 回答
1

检查复选框数量的长度:

$('input[type="checkbox"]').is(":checked").length;

然后仅在检查超过 6 个时才提交您的表单:

$('form').submit(function(e){
    if($('input[type="checkbox"').is(":checked").length < 6 ){
        e.preventDefault();
    }
});

使用.is(选择器)

于 2013-10-01T15:42:53.310 回答
0

一种非常不同的方法仅供参考:

var checkBox = $('input[type="checkbox"]');
var num = 0;
$.each(checkBox, function(){
    var checked = $(this).is(":checked");
    if(checked){
        if(num < 6){
            num++;
        } else {
            //Do something
        }
    }
});
于 2013-10-01T15:53:07.247 回答
0

您可以尝试使用 jQuery 的 js 函数:

function isValid(){
    return $('input[type="checkbox"]:checked').length == 6;
}
于 2013-10-01T15:42:25.307 回答
0

您没有说明您是如何进行验证的,但类似:

if ($(":checked" ).length < 6)
{
      //Not valid
}

假设复选框是页面上唯一的“可选”输入。

注意 - 还假设检查超过 6 个也可以?

于 2013-10-01T15:42:36.440 回答
0

简单的:

if ($("input[type='checkbox']:checked").length == 6) {
   // Do whatever you need to do
}
于 2013-10-01T15:42:41.440 回答
0

希望这会帮助你。

if ($('input:checkbox:checked').length == 6) {
    // validation successful
} else {
    // return an error
}
于 2013-10-01T15:42:47.717 回答