[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ох эти чекбоксы...
inc1uder
Сразу к делу.

Есть список чекбоксов:

...
<input type="checkbox" value="2" name='ch' /> 9. Устройство (кладка, монтаж), ремонт, ... <br />
<input
type="checkbox" value="1" name='ch' /> 10. Выполнение работ по огнезащите материалов, изделий и конструкций; <br />
<input
type="checkbox" value="2" name='ch' /> 11. Монтаж, техническое обслуживание и ремонт первичных средств пожаротушения; <br />
...


При выборе одного из них в переменную должно записываться его value:

 var typework = $("input[name='ch']:checked").val();


Затем, должно выполняться следующее условие:
if (typework == null) {
$("#type span").text('Выберите виды работ');
$("#error span").text('ОШИБКА!');
totalSum = 0;
return;
}
else if (typework == 1) {

totalSum += 10000;

}
else {
$("#error span").text();
totalSum += 0;

}


Задача состоит в следущем: при выборе чекбокса с value="1", к totalSum должно прибавляться 10000, но возникает проблема, а именно - в переменной typework сохраняется значение самого первого выбранного чекбокса, и условие не срабатывает.

Вопрос: в чем моя ошибка и как можно реализовать проверку на наличие отмеченного чекбокса с value = 1?

Рабочий вариант:
http://jsfiddle.net/inc1uder/y9WvY/5/




Спустя 13 минут, 9 секунд (15.05.2012 - 13:36) Игорь_Vasinsky написал(а):
Цитата
totalSum += 10000;


totalSum = totalSum + 10000;

Спустя 6 минут (15.05.2012 - 13:42) inc1uder написал(а):
Цитата (Игорь_Vasinsky @ 15.05.2012 - 13:36)
Цитата
totalSum += 10000;


totalSum = totalSum + 10000;

и так работает)

Спустя 2 часа, 27 минут, 3 секунды (15.05.2012 - 16:09) Игорь_Vasinsky написал(а):
аа. не понял сути.

тебе нужно проверять чекбокс, если отмечен то переменная равно 10000, если нет - то 0

Спустя 18 минут, 59 секунд (15.05.2012 - 16:28) inc1uder написал(а):
Цитата (Игорь_Vasinsky @ 15.05.2012 - 16:09)
аа. не понял сути.

тебе нужно проверять чекбокс, если отмечен то переменная равно 10000, если нет - то 0

Не совсем, внизу ссылка есть можно посмотреть как работает)

Мне требуется если отмечен чекбокс с value=1 то прибавлялось +10000 если нет, то ничего не прибавлялось.

Спустя 4 часа, 34 минуты, 22 секунды (15.05.2012 - 21:03) inc1uder написал(а):
поскольку скрипт работает по кнопке может foreach'em и this'om можно что-нибудь сделать? есть идеи?

Спустя 1 час, 23 минуты, 19 секунд (15.05.2012 - 22:26) HErATuB написал(а):
Можно проверять по событию фокус

Спустя 13 часов, 7 минут, 40 секунд (16.05.2012 - 11:34) inc1uder написал(а):
Вообщем, сделал намного проще:

...
<input type="checkbox" value="0" name='ch' /> 8. ... <br />
<input
type="checkbox" value="10000" name='ch' /> 9.....<br />
...



...
$("input[name='ch']:checked").each(function() {
num += 1;
totalSum += parseInt($(this).val());

};
...



Тему можно закрывать =)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.