Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> ох эти чекбоксы..., получение value из группы чекбоксов
inc1uder  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 26
Пользователь №: 32176
На форуме: 4 года, 7 месяцев, 21 день
Карма:




Сразу к делу.

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

...
<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());

};
...



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


Это сообщение отредактировал inc1uder - 15.05.2012 - 13:25
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса