12.12.2017, 18:02
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
Taichi,
Сообщение от Nexus
|
в строке 14 замените "innerHTML" на "value".
|
Кроме того, в цикле каждый следующий aa затирает результат предыдущего.
|
|
12.12.2017, 18:10
|
Интересующийся
|
|
Регистрация: 05.12.2017
Сообщений: 14
|
|
Посему мне подсказали записывать переменные чезез aa[], что бы через цикл добраться до каждого. Спасибо большое, ошибка мелкая а проблем много.
|
|
12.12.2017, 18:12
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
Taichi, Dilettante_Pro имел ввиду, что изменяя свойство "innerHTML", элемента #demo в строке 13 вы постоянно перезаписываете контент этого поля.
|
|
12.12.2017, 18:21
|
Интересующийся
|
|
Регистрация: 05.12.2017
Сообщений: 14
|
|
Задача предстоит такая:
var aa = document.querySelectorAll('form.intake input[name="aa[]"]'),
bb = document.querySelectorAll('form.intake input[name="bb[]"]');
Мне нужно каждый инпут аа[] умножить на инпут bb[], и вывести в инпут сс[], а потом все результаты сложить в переменную FullPay.
И все это в динамике, так как инпуты можно как добавлять так и удалять.
function FullPay()
{
var aa = document.querySelectorAll('form.intake input[name="aa[]"]'),
bb = document.querySelectorAll('form.intake input[name="bb[]"]');
alert(aa);
for (var i = 0; i < aa.length; i++) {
cc[i] = aa[i]*bb[i];
document.getElementById("cc[]").innerHTML = "Results =" + cc[i].value
}
}
$('form.intake').on('input', 'click','input[name="aa[]"], input[name="bb[]"]', FullPay);
но что то, я чувствую, не осилю сам =(
|
|
12.12.2017, 19:19
|
Интересующийся
|
|
Регистрация: 05.12.2017
Сообщений: 14
|
|
function FullPay()
{
var aa = document.querySelectorAll('form.intake input[name="aa[]"]'),
bb = document.querySelectorAll('form.intake input[name="bb[]"]'),
cc = document.querySelectorAll('form.intake input[name="cc[]"]'),
FullPay = document.querySelector('.FullPay');
for (var i = 0; i < aa.length; i++) {
cc[i].value = (+aa[i].value||0) * (+bb[i].value||0);
FullPay.innerHTML += +cc[i].value;
}
}
Вот, уперся в проблему, точнее две.
Не могу сделать так что бы переменная сс[i] заходила в тот инпут который нужно, выходит только со смещением, то есть выводит сумму в последний инпут сс[].
И еще, не выходит правильно сложить результат в FullPay.
Подскажите, что куда и как правильно?
|
|
12.12.2017, 20:01
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
Taichi,
function FullPay()
{
var aa = document.querySelectorAll('form.intake input[name="aa[]"]'),
bb = document.querySelectorAll('form.intake input[name="bb[]"]'),
cc = document.querySelectorAll('form.intake input[name="cc[]"]'),
full = document.querySelector('.FullPay'),
sum = 0;
for (var i = 0; i < aa.length; i++) {
cc[i].value = (+aa[i].value||0) * (+bb[i].value||0);
sum += +cc[i].value;
};
full.innerHTML = sum
}
Последний раз редактировалось рони, 12.12.2017 в 20:30.
|
|
12.12.2017, 20:09
|
Интересующийся
|
|
Регистрация: 05.12.2017
Сообщений: 14
|
|
Я выносил тоже переменную из цикла, но у меня не заработало. И ваш пример у меня, чего то, не работает
Прикрепил скрин формы.
Последний раз редактировалось Taichi, 12.12.2017 в 20:16.
|
|
12.12.2017, 20:14
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
Сообщение от Taichi
|
И ваш пример у меня, чего то, не работает
|
не телепат
|
|
12.12.2017, 20:19
|
Интересующийся
|
|
Регистрация: 05.12.2017
Сообщений: 14
|
|
Сейчас, поднастрою антенну для телепатии, а то действительно слабо передает.
Прикрепил скин формы для варианта:
function FullPay()
{
var aa = document.querySelectorAll('form.intake input[name="aa[]"]'),
bb = document.querySelectorAll('form.intake input[name="bb[]"]'),
cc = document.querySelectorAll('form.intake input[name="cc[]"]'),
full = document.querySelector('.FullPay');
for (var i = 0; i < aa.length; i++) {
cc[i].value = (+aa[i].value||0) * (+bb[i].value||0);
full.innerHTML += parseInt (+cc[i].value);
}
}
Последний раз редактировалось рони, 12.12.2017 в 20:29.
|
|
12.12.2017, 20:21
|
Интересующийся
|
|
Регистрация: 05.12.2017
Сообщений: 14
|
|
Не знаю, почему, но если объявить какую то переменную опосля
FullPay = document.querySelector('.FullPay');
Скрипт, как будто бы теряет его из памяти.
|
|
|
|