jasonOk
@jasonOk
Легче болтать, чем код писать

Правильная реализация с помощью Js или jQuery?

Как правильно выполнить следующую задачу:
Есть три чекбокса, если я снимаю галочки с двух, то третий становится disabled, затем нажимаю на один из выключенных и disabled убирается (третий чекбокс вновь становится активным). То есть в любой момент времени могут быть выключены только два чекбокса.
Простите за такой простой вопрос, но не знаю как правильно реализовать.
  • Вопрос задан
  • 276 просмотров
Пригласить эксперта
Ответы на вопрос 2
VladimirAndreev
@VladimirAndreev
php web dev
на изменение чекбокса повесить обработчик события, в нем уже считать активные, выставлять disabled...
можно на jquery, можно и без...
Ответ написан
Комментировать
romy4
@romy4
Exception handler
jasonOk: тогда ещё проще. соберите изначально все чекбоксы и дёргайте единую функцию назвав например clicker. внутри счётчик, который по достижении 2 просто делает disabled для оставшейся кнопки

var boxes = [$("#id1"), .... ];
var boxes_clicked = 0;
var boxes_disabled = false;

function clicker()
{
  boxes_clicked += (this.checked ? +1 : -1 );
  if ( boxes_clicked >= 2 && !boxes_disabled )
 { 
     boxes_disabled = true;
     for ( var i=0; i < boxes.length; i++ )
        if ( ! boxes[i].checked )
            boxes[i].disabled = true;
     return;
 }
 if ( boxes_disabled )
  {
    boxes_disabled = false;
     for ( var i=0; i < boxes.length; i++ )
        if ( ! boxes[i].checked )
            boxes[i].disabled = false;
  }
}


за красоту кода не отвечаю, но приблизительно так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы