Как заблокировать checkbox кроме выделенных
Как заблокировать checkbox кроме выделенных :help:
Вот эта функция блокирует все чекбоксы после того как выбраны 3 из них.
$('#relis, .cchl').live('click',function(){
//$('#relis, .cchl').click(function(){
var kol = $('input:checkbox:checked').length;
if(kol == 3){
$('#relis, .cchl').prop("disabled", true);
}
});
у меня все "checkbox" имеют класс "cchl" вот эта строка:
$('#relis, .cchl').prop("disabled", true);
блокирует все, но при отправки формы, все checkbox не записуються в переменную в связи с тем что они все "disabled". Мне нужно что бы блокировались все кроме уже отмеченных. И по возможности, чтобы при снятии отмеченного остальные розблокировались. |
нужно сделать выборку чекбоксов которые не выбраны и установит им атрибут
.attr("disabled", true);
|
а как сделать выборку чекбоксов которые не выбраны?
|
Вуаля решил сразу все проблемы:
$('#relis, .cchl').live('click',function(){
//$('#relis, .cchl').click(function(){
var kol = $('input:checkbox:checked').length;
if(kol < 3){ // если выбранных меньше 3
$(':checkbox').prop("disabled", false); // то розблокирую
}
if(kol == 3){ // если выбраны 3 чекбокса
$(':checkbox').prop("disabled", true); // сначала блокирую все
$(':checkbox:checked').prop("disabled", false); // а потом разблокирую выбранные
}
});
|
нестандартный подход :)
Я бы наверно сделал так
$("input[type=checkbox]").filter(":not(':checked')")
|
Цитата:
:write: |
| Часовой пояс GMT +3, время: 21:05. |