Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.03.2015, 16:11
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Использование текстового узла
Добрый.
Есть страница http://krotarost-wordpress-12.tw1.ru/forma-zakaza/
Я пытаюсь на ней реализовать следующее:
Взять цену из колонки "Цена (руб)" и вставить ее в "Стоимость (руб)" .
Проблема в том, что страница динамическая, и при добавлении нового товара он появляется на этой странице.
Пока написал так:
pr = $('.product-price__text').text();
$('.product-subtotal__text').text(pr);

где .product-price__text - это "Цена (руб)"
и .product-subtotal__text - "Стоимость (руб)"

Сейчас получается так, что в каждую ячейку в колонке "Стоимость (руб)" вписываются цены всех товаров.
Хелп
Ответить с цитированием
  #2 (permalink)  
Старый 30.03.2015, 16:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от pensill
Хелп
Начинай делать тестовый пример...
Ответить с цитированием
  #3 (permalink)  
Старый 30.03.2015, 17:08
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Сообщение от ksa Посмотреть сообщение
Начинай делать тестовый пример...
Ну так то начал. Вопрос: если у меня будет несколько элементов с одним классом, а мне нужно по отдельности использовать их содержимое, то, как я понимаю, мне нужно всю мою выборку элементов засунуть в массив, и потом через for (var i = 0; i < array.length; i++) и $(this) брать содержимое по очереди. Как загнать выборку в массив?
Ответить с цитированием
  #4 (permalink)  
Старый 30.03.2015, 17:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от pensill
Как загнать выборку в массив?
также через цикл $.each
это вам весёлая картинка для стимула
Ответить с цитированием
  #5 (permalink)  
Старый 30.03.2015, 17:29
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Сообщение от рони Посмотреть сообщение
также через цикл $.each
это вам весёлая картинка для стимула
ок. Мастер!
Ответить с цитированием
  #6 (permalink)  
Старый 30.03.2015, 18:05
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Дошел до этого:
var pr;
$('.product-price__text').each(function() {
pr = $(this).text();

});//end each
for (var i = 0; i < pr.length; i++) {
$('.product-subtotal__text').text(pr);
}//end for

Но в этом случае, используется только последняя цена. Что тут не правильНО?
Ответить с цитированием
  #7 (permalink)  
Старый 30.03.2015, 18:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А зачем вам массив, а затем цикл for, вы же получили коллекцию необходимую, и циклом each обходите ее. В этом цикле и производите все операции.
Ответить с цитированием
  #8 (permalink)  
Старый 30.03.2015, 18:43
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Сообщение от laimas Посмотреть сообщение
А зачем вам массив, а затем цикл for, вы же получили коллекцию необходимую, и циклом each обходите ее. В этом цикле и производите все операции.
Попробовал сделать как вы советовали:
$('.product-price__text').each(function(){
$('.product-subtotal__text').text($(this).text());
});
но все равно записывается в .text() только последнее значение
Ответить с цитированием
  #9 (permalink)  
Старый 30.03.2015, 18:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну все правильно - при каждой итерации цикла вы записываете в элемент product-subtotal__text значение текущего product-price__text, по окончании и будет запись последнего.
А что нужно, сумму всех? Значит надо суммировать в переменную, а после цикла ее записывать. А на картинке еще и количество чего-то, значит надо перемножать и эти значения суммировать.
Ответить с цитированием
  #10 (permalink)  
Старый 30.03.2015, 19:13
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Сообщение от laimas Посмотреть сообщение
Ну все правильно - при каждой итерации цикла вы записываете в элемент product-subtotal__text значение текущего product-price__text, по окончании и будет запись последнего.
Нужно для каждого product-subtotal__text записать его собственный product-price__text


Сообщение от laimas Посмотреть сообщение
А что нужно, сумму всех? Значит надо суммировать в переменную, а после цикла ее записывать. А на картинке еще и количество чего-то, значит надо перемножать и эти значения суммировать.
Это позже, пока хочу реализовать это
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так, тобы при нажатии на div содержание текстового документа появлялось? Webtest Общие вопросы Javascript 1 03.09.2014 12:36
JavaScript. Уровень 3в. Серверное программирование на Node.js maxy666 Node.JS 8 10.08.2014 00:36
Отображение содержимого текстового узла kos403 Javascript под браузер 14 16.02.2014 02:38
Как получить порядковый номер узла дерева относительно корня Shamandrey ExtJS 2 11.11.2013 10:48
Получение текстового содержимого из всех вложенных DOM EmDmAl Events/DOM/Window 8 02.12.2009 23:38