Есть ли способ включить кнопку, только если все 5 боксов отмечены?

В настоящее время вам нужно установить только один флажок, чтобы активировать кнопку. Я хотел бы сделать так, чтобы три флажка нужно было проверить, чтобы активировать.

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 ответа

Ну вот. Он даже отключается, если третий не установлен.

Здесь работает скрипка: 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);
 }

});


Вы можете подсчитать, сколько флажков установлено, используя:

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

Здесь скрипка: http://jsfiddle.net/9whF5/ Измените условие, если вы хотите проверить по крайней мере три окна. Как и в случае с скрипкой, необходимо проверить только три поля.


Ну вот! Проблема в том, что вы должны использовать селектор ": 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")));
 });

licensed under cc by-sa 3.0 with attribution.