Есть список чекбоксов:
...
<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 = totalSum + 10000; |
и так работает)
Спустя 2 часа, 27 минут, 3 секунды (15.05.2012 - 16:09) Игорь_Vasinsky написал(а):
аа. не понял сути.
тебе нужно проверять чекбокс, если отмечен то переменная равно 10000, если нет - то 0
тебе нужно проверять чекбокс, если отмечен то переменная равно 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());
};
...
Тему можно закрывать =)