Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 限制复选框,但仅限于新选中的复选框_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript 限制复选框,但仅限于新选中的复选框

Javascript 限制复选框,但仅限于新选中的复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一点jquery,它允许我限制用户可以在页面上检查的复选框数量: $('input[type=checkbox]').on('change', function (e) { if ($('input[type=checkbox]:checked').length > 3) { $(this).prop('checked', false); alert("allowed only 3"); } }); 但是,用户每天只能使用一次“x”号

我有一点jquery,它允许我限制用户可以在页面上检查的复选框数量:

 $('input[type=checkbox]').on('change', function (e) {
    if ($('input[type=checkbox]:checked').length > 3) {
        $(this).prop('checked', false);
        alert("allowed only 3");
    }
});
但是,用户每天只能使用一次“x”号码。因此,他们来到表格,提交他们的限制(3检查)。他们第二天回来,我检查了昨天的3个,但设置为禁用:

 checked="checked" disabled="disabled" disabled/>
有没有一种方法可以修改我的if语句,说“input[type=checkbox]:checked”,但如果禁用或class=“disabled”则不这样做,这样它们就不会计入每日限额?

您可以使用jQuery方法进行如下操作

$('input[type=checkbox]').on('change', function (e) {
    if ($('input[type=checkbox]:checked').not(':disabled').length > 3) {
        $(this).prop('checked', false);
        alert("allowed only 3");
    }
});
您可以使用jQuery方法进行如下操作

$('input[type=checkbox]').on('change', function (e) {
    if ($('input[type=checkbox]:checked').not(':disabled').length > 3) {
        $(this).prop('checked', false);
        alert("allowed only 3");
    }
});

您可以使用
:enabled

$('input[type=checkbox]').on('change', function (e) {
    if ($('input[type=checkbox]:enabled:checked').length > 3) {
        $(this).prop('checked', false);
        alert("allowed only 3");
    }
});

您可以使用
:enabled

$('input[type=checkbox]').on('change', function (e) {
    if ($('input[type=checkbox]:enabled:checked').length > 3) {
        $(this).prop('checked', false);
        alert("allowed only 3");
    }
});

您将以前选中的复选框存储在哪里?是否正在检查此服务器端?这些值可以在用户的浏览器中轻松更改。您将以前选中的复选框存储在哪里?是否选中此服务器端?这些值可以在用户的浏览器中轻松更改。与“:enabled:checked”和“:checked”)相比,是否有优势?而不是(“:disabled”)?@Steve:simplicity?可读性?不是真的,它们应该做相同的事情:启用:选中与“:选中”)相比有优势吗?可读性?不是真的,它们应该做相同的事情