Подсчет суммы
Здравствуйте!
Нужна Ваша помощь, пытаюсь создать подсчет суммы на js Есть такое <!DOCTYPE html> <html> <head> <meta charset="cp1251"> <title>n</title> <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js"></script> <script> var sum = document.getElementById('summa'); var sum = document.getElementById('summa1'); var total = document.getElementById('itogo'); totalInt = parseInt(total.innerHTML.innerHTML); sum.onchange = function() { total.innerHTML = parseInt(summa1.value) + parseInt(summa.value); } </script> </head> <body> <select id="summa"> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> </select> <select id="summa1"> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> <option value='8'>8</option> <option value='9'>9</option> <option value='10'>10</option> </select> <br>Сумма<div id="itogo"></div> </body> </html> Но почему-то сумму не считает( хотя тут http://jsfiddle.net/ewfes/6zEL9/ все правильно работает. Помогите разобраться в чем моя ошибка |
В script'е Вы уже в процессе загрузки страницы обращаетесь к элементам, о которых система еще не знает, поскольку они находятся в коде ниже.
Перенесите блок script в конец примера. А лучше используйте обработку события .onload. |
Спасибо, работает.
Теперь такая ситуация, есть пхп формы <?php $sql = "SELECT * FROM b2"; $result_select = mysql_query($sql); echo "<select name = 'selector5'>"; while($object = mysql_fetch_object($result_select)){ echo "<option value = '$object->p_b2' > $object->p_b2 </option>"; } echo "</select>"; ?> <?php $sql = "SELECT * FROM b3"; $result_select = mysql_query($sql); echo "<select name = 'selector7'>"; while($object = mysql_fetch_object($result_select)){ echo "<option value = '$object->p_b3' > $object->p_b3 </option>"; } echo "</select>"; ?> в которые потягиваются числовые значения из БД, тперь необходимо чтобы данный скрипт считал сумму выбранных из селектов значений. Подскажите, пожалуйста, как это правильно реализовать, пробую так: <script> var sum = document.getElementById('$object->p_b2'); var sum = document.getElementById('$object->p_b3'); var total = document.getElementById('itogo'); totalInt = parseInt(total.innerPHP.innerPHP); sum.onchange = function() { total.innerHTML = parseInt($object->p_b3.value) + parseInt($object->p_b2.value); } </script> Но не считает сумму, что делаю не так? |
Приведите сгенерированный HTML и JS, а то в этой PHP солянке не понятно что там у вас получается в итоге.
|
Цитата:
Не вдаваясь в задачу: я думал что в первом примере просто опечатка, но Вы, похоже, настаиваете на этом странном использовании переменной... |
var sum = document.getElementById('$object->p_b2');//это что за хрень??ясное дело что не считает, Js интерпретатор кровавыми слезами плачет пытаясь получить этот id var sum = document.getElementById('$object->p_b3');//вторая переменная с именем sum??? var total = document.getElementById('itogo'); totalInt = parseInt(total.innerPHP.innerPHP);// первый раз вижу свойство innerPHP, которое к тому же имеет свойство innerPHP sum.onchange = function() { total.innerHTML = parseInt($object->p_b3.value) + parseInt($object->p_b2.value);//если уж выводить из пхп переменную, то может хоть пхп тег проставить надо а? } /***** ******/ var sum = document.getElementById(' <?php echo $object->p_b2 ?> ');// я, к счастью, в пхп не силен, но сдается мне это делается как то так |
.innerPHP - это божественно.
|
Часовой пояс GMT +3, время: 08:05. |