测试至少一个复选框是否被选中

Avatar of Chris Coyier
Chris Coyier

在这个例子中,如果没有任何复选框被选中,则提交按钮将被禁用;如果至少选中了一个,则提交按钮将被启用。

<form>
   <!-- bunch of checkboxes like: -->
   <input type="checkbox" ... >
   <input type="checkbox" ... >

   <!-- submit button, defaults to disabled -->
   <input type="submit" value="submit">
</form>

诀窍是,你可以对包含多个元素的 jQuery 对象使用 .is(":checked"),如果其中任何一个被选中,它将返回 true;如果没有任何一个被选中,它将返回 false。而且,使用 .attr()disabled 属性设置该布尔值将启用/禁用该按钮。

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

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