Вход

Просмотр полной версии : Сумма value динамически создаваемых input'ов (jQuery)


Tazeg
19.09.2011, 17:52
Итак, существуют динамически созданные инпуты , кол-во неизвестно
естественно id различаются только цифрами input-1 input-2 input-n

как суммировать их значения value ???
туплю неподеццки уже 3 часа

Триви
19.09.2011, 19:02
<input id="input-1" value="1" /><br />
<input id="input-2" value="2" /><br />
<input id="input-3" value="3" /><br />
<input id="input-4" value="4" /><br />
<input id="input-5" value="5" />

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var sum=0;
$("input").each(function () {
sum += parseInt($(this).val());
});
alert(sum);
});
</script>

Tazeg
19.09.2011, 19:39
Со всего размаху благодарен)
всё получилось
а теперь можно ссылочку с документацией а???
ну очень хочется разхобраться

parseInt($(this).val()) - тут в силу сокращений мозг начинает тупить, это из jQuery???

DjDiablo
19.09.2011, 20:06
Если здесь разобраться неможешь. то документацию тебе надо читать с самого начала.

parseInt букавки в циферки переделывает. Это господин триви так подстраховался.

Tazeg
19.09.2011, 20:12
нене))) я конечно не до гурув яваскрипте, но что такое parseInt знаю)))
просто $(this).val() меня смутило... я как то привык $(this).value
а по ходу .val() это что-то из jquery? вот для этого ищу документацию

DjDiablo
19.09.2011, 20:17
$("input")- делает массив из всех input на странице
each( это по сути цикл по массиву. Хотя на самом деле это метод организующий за тебя цикл)))
this-грубо говоря это ссылка на текущий элемент массива. Тобиш на value.
val()- функция устанавливает, или возвращает твоё любимое value

а искать надо в яндексе. здесь по jquery нет учебника пока.

Serg_pnz
19.09.2011, 21:30
Пара сайтов, которыми я пользуюсь
http://jquery.page2page.ru/index.php5/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%B0 %D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%BE%D0%BC_v alue
http://slyweb.ru/jquerydoc/val-val.php

Триви
19.09.2011, 23:22
Tazeg,
Не нужен тебе щас никакой jQuery.
Учи JavaScript чистоганом, потом за фреймворки возьмёшься.
Лично я сейчас так делаю, что и тебе настоятельно рекомендую.


<input value='1' /><br />
<input value='2' /><br />
<input value='3' /><br />
<input value='4' /><br />
<input value='5' />

<script type='text/javascript'>
(function() {
var inputs = document.getElementsByTagName('input');
var sum=0;
for (var i=0; i<inputs.length; i++) {
sum += parseInt(inputs[i].value);
}
alert(sum);
})();
</script>