Задать вопрос
@Angelina_Jo

Почему функция срабатывает два раза?

Нужно:

Узнать состояние чекбокса и в зависимости от его состояния поменять стиль label в котором он расположен. И ещё, если чекбокс выбирается, увеличить счётчик на 1. А если чекбокс снимается, тогда уменьшить счётчик на 1.

Делаю так:

Функция selectChk вызывается событием onClick - у каждого label.

<label id="label_id_1" onClick="selectChk(1);">
<input class="chk_id_1" type="checkbox" name="num[]" value="1">
1</label>

<label id="label_id_2" onClick="selectChk(2);">
<input class="chk_id_2" type="checkbox" name="num[]" value="2">
2</label>

...


cnt = 0;

function selectChk(number_chk) {

z = $('.chk_id_'+number_chk).prop("checked");

if (z) {

$('.label_id_'+number_chk).css({'border-color':'#ff0000','font-weight':'bold'});
cnt--;
alert(z);
//Если чекбокс был выбран до вызова функции, считаем его деактивированным и уменьшаем счётчик

}
else {

$('.label_id_'+number_chk).css({'border-color':'#ffffff','font-weight':'normal'});
cnt++;
alert(z);
//Если чекбокс не был выбран до вызова функции, считаем его активированным и увеличиваем счётчик

}

}


Подскажите, пожалуйста, почему срабатывают оба условия подряд?
  • Вопрос задан
  • 3264 просмотра
Подписаться Оценить 3 комментария
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Пригласить эксперта
Ответы на вопрос 1
L0k1
@L0k1
onChange же, а не onClick и не будет двойного срабатывания по идее
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы