有没有办法只在选中所有5个框时启用按钮?

时间:2013-08-07 00:29:07

标签: button checkbox

目前,您只需要选中一个复选框即可激活按钮。我想这样做,所以需要检查3个复选标记才能激活。

http://jsfiddle.net/chriscoyier/BPhZe/76/

var checkboxes = $("input[type='checkbox']"),
    submitButt = $("input[type='submit']");

checkboxes.click(function() {
    submitButt.attr("disabled", !checkboxes.is(":checked"));
});

3 个答案:

答案 0 :(得分:0)

你走了!问题是你应该使用“:not()”选择器。

http://jsfiddle.net/douglasloyo/BPhZe/470/

    var checkboxes = $("input[type='checkbox']"),
        submitButt = $("input[type='submit']");

    checkboxes.click(function() {
        submitButt.attr("disabled", checkboxes.is(":not(:checked")));
    });

答案 1 :(得分:0)

您可以使用以下方式计算设置了多少个复选框:

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

这是一个小提琴:http://jsfiddle.net/9whF5/如果你想要至少检查三个盒子,请更改条件。因此,小提琴只需要检查三个盒子。

答案 2 :(得分:0)

你走了。如果第三个未经检查,它甚至会禁用。

这是工作小提琴:http://jsfiddle.net/BPhZe/471/

var checkboxes = $("input[type='checkbox']"),
    submitButt = $("input[type='submit']");

checkboxes.click(function() {
    if ($(":checkbox:checked").length >= 3){
    submitButt.attr("disabled", false);
    }
    else{
    submitButt.attr("disabled", true);
    }

});