Показать сообщение отдельно
  #9 (permalink)  
Старый 28.01.2014, 01:04
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Полнейший пипец. Искать через три-девять земель два инпута чтобы перемножить их валуи.

Сообщение от nohc
Но что делать, если вывожу на странице неизвестное количество wrap[id], pv[id], day-price[id], price[id] - (wrap55,wrap56,wrap57, ...)?
Внутри контейнера не должно быть id. Шаблон контейнера идентифицирует элементы сам собой. Это лишает вас свободы пихать туда произвольное дерево произвольного числа элементов, что благо, поскольку для нормальных деревьев и CSS когда-то был разработан.

Другими словами скрипт знает что первый чайлд <div id="wrap56"> это "в день", а второй чайлд это "в час" или как там у вас, не важно.

Это если вы найдете все <div id="wrapХХХХХХХ">. А если не найдете то и не надо. Потому что по имени, которое может быть одинаковым для 100500 инпутов, вы найдете все 100500, каждый из которых найдет свою пару среди 100500 тех инпутов, с валуями которых ему хочется умножиться.

В процессе повешания функции calc() на инпуты профтыкаете счетчик как index во все найденные по имени элементы множимого. И тогда любой множимый найдет множителя:

var my_pair = document.getElementsByName('known_name')[this.index];

Ну и самое очевидно: загрузите с сервера готовый массив этих id и не парьтесь поисками пары.
Ответить с цитированием