В <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 написал(а):
Понял, спасибо огромное)