powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Поиск динамически созданных input
6 сообщений из 6, страница 1 из 1
Поиск динамически созданных input
    #39546022
Jugador1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть форма в которой построчно поля: <input type=text class=summpole name=summ[]> <input type=text class=countpole name=count[]>

Добавляются они динамически. Появилась необходимость подсчитать итоговую сумму : построчно сумма*кол-во и итоговую сумму всех строк.
Сделал некую функцию, которая при клике на кнопку с id ppp в цикле бежит по всем полям и заносит их в массив (не заносит)
т.к. поля всегда парны, я надеялся что два цикла заполнят массивы и в массиве data у ключа 0 будет значение первой строчки суммы а у массива data2 в том-же ключе 0 кол-во.
Вариант что 1 поля нет или оно пустое пока не рассматривал.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 function summdog(){
 var sC = "";
    var data = new Array();
    var data2 = new Array();

$('#ppp').click(function() {
    
    $(".summpole").each(function() {
     
       data.push($(this).val());
    });
    $(".countpole").each(function() {
      
       data2.push($(this).val());
    });

   
});
alert(data2);
 /* data.forEach(function(item, i, data) {
  alert( i + ": " + item + " (массив:" + data + ")" );
});   */                 
                 }



Так вот в массив данные не ложатся, хотя соотв. alert($(this).val()); показывает, но очень странно.
пример имеем всего 1 строчку
Если нажать кнопку 1 раз, алерт выскочит 1 раз с значением первого поля, нажмем второй раз, будет 2 алерта подряд и т.д.
...
Рейтинг: 0 / 0
Поиск динамически созданных input
    #39546099
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jugador1991,

а почему переменные-массывы data и data2 за переделами обработчика клика? так задумано?
...
Рейтинг: 0 / 0
Поиск динамически созданных input
    #39546109
Jugador1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oakenJugador1991,

а почему переменные-массывы data и data2 за переделами обработчика клика? так задумано?

Это случайно, пробовал по разному. Если их положить внутрь, то массив заполняется, но алерт выскакивает Х раз, где Х-это сколько раз нажимали кнопку. Сначала думал, что он так Х раз заполнил массив, но нет, просто событие $('#ppp').click(function() { срабатывает много раз.

С одной стороны будет просто пересчитывать много раз, но планировал повесить событие на onkeyup и пересчитывать когда меняем сумму или кол-во, но тогда заполняя 10 строчку, если было нажато 30 клавиш, то нажимая 31 скрипт отработает 31раз, нажимая 32 отработает еще 32 раза, 33 еще 33 раза. т.е. геометрическая прогрессия
...
Рейтинг: 0 / 0
Поиск динамически созданных input
    #39546142
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jugador1991,

Судя по твоему коду при нажатии на "#ppp" никакого алерта не должно быть, он будет если вызвать summdog, но поять же этот вызов привяжет еще один обработчик к кнопке. Вобщем каша какая-то здесь.
...
Рейтинг: 0 / 0
Поиск динамически созданных input
    #39546143
Jugador1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, разобрался, я затупил(
Функцию переделал, а ее вызов нет. и получилось, что у кнопки было onclick=summdog

в котором был код $('#ppp').click(function() {

и выходило при нажатии на кнопку функция ловила нажатие на кнопку, которая ловила нажатие на кнопку и т.д.
...
Рейтинг: 0 / 0
Поиск динамически созданных input
    #39546146
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jugador1991показывает, но очень странно
Это такой ты скрипт написал...

Как вариант
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function () {
	var sC = "";
	var data = new Array();
	var data2 = new Array();
	$('#ppp').click(function() {
		$(".summpole").each(function() {
		   data.push($(this).val());
		});
		$(".countpole").each(function() {
		   data2.push($(this).val());
		});
		alert(data2);
	});
})
</script>
</head>
<body>
<input type='text' class='summpole' name='summ[]' /> <input type='text' class='countpole' name='count[]' />


<input type='text' class='summpole' name='summ[]' /> <input type='text' class='countpole' name='count[]' />


<input type='text' class='summpole' name='summ[]' /> <input type='text' class='countpole' name='count[]' />


<button id='ppp'>Test</button>
</body>
</html>
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Поиск динамически созданных input
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]