[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Куда копать?
inc1uder
Подскажите, где искать ошибку?

В <span></span> обновление значения totalSum происходит только после изменения выбора из select

То есть когда я кликаю на чекбокс, согласно скрипту - к totalSum прибавляется единица, но в span'e обновление переменной происходит только после другого выбора в select.

С чем может быть связано? Неверный алгоритм?

Пациент:

<div id="calc">
<select
id="region">
<option
value='0'>Выберите регион...</option>
<option
value='1'>Санкт-Петербург</option>
<option
value='1'>Ленинградская область</option>
<option
value="2">Москва</option>

и так далее...
</select>

<input
type="checkbox" value="1" name="ch" />1. Разработка ...<br />
<input
type="checkbox" value="1" name="ch" />....<br />

и так далее...
</div>
<p
id="summ">Стоимость лицензии: <strong><span></span></strong> р.</p>


Скрипт:

$(document).ready(function() {
$("#region").change(function() {
var regionz = $("#region :selected").val(),
formOftype = $("#calc");
$("#summ span").text("0");

formOftype.live("change",function() {
var totalSum = 50000;
var numberOfTypes = 0;
$(this + "input[name='ch']:checked").each(function() {
totalSum += 1;
});
$("#summ span").text(totalSum);
});
});
});




Спустя 22 минуты, 33 секунды (28.04.2012 - 21:09) redreem написал(а):
ну так onchange у тебя повешен только на селект с id region. вынеси калькуляцию в отдельную функцию, повесь change дополнительно и на чекбоксы, и вызывай по onchange функцию калькуляции. типа так:

function calculate() {
//калькуляция и изменение спана
}

$("#region").change(function() {

calculate();

});

$('#calc input[type="checkbox"]').each(function() {

$(this).change(function() {

calculate();

});

});

Спустя 3 минуты, 57 секунд (28.04.2012 - 21:13) inc1uder написал(а):
Понял, спасибо огромное)
Быстрый ответ:

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