Обход таблицы с помощью Jquery

У меня есть страница корзины, где количество не соответствует количеству, так как продукты продаются оптом (1, 10, 100 штук).

Я пытаюсь получить количество предметов в упаковке, умножить их на количество и показать общее количество предметов.

Вот JSFiddle и код:

jQuery(document).ready(function($){
$( ".variant_title" ).each(function() {
  var str = $(this).text();
  var qty = $(this).nextUntil('input[id^=updates_]').val();
  console.log(qty);
  if ( str.indexOf('jackets') > -1 ) {
      unities = str.slice(18,21);
      if (unities === '100' || unities === '10 ') {

        console.log(unities);
        totalUnities = unities * qty;
        console.log(totalUnities); 
        $(this).append('<br />' + totalUnities + ' Unities');
      }
  } else {
      unities = str.slice(18,19);
      if (unities === '1') {
        console.log(unities);
        totalUnities = unities * qty;
        $(this).append('<br />' + totalUnities + ' Unity');
      }
  }
});
});

Пример таблицы

Теперь моя проблема - пройти DOM и получить значение поля ввода рядом с описанием и умножением.

Кто-нибудь знает, где я здесь ошибаюсь?

Спасибо

2 ответа

  var str = $(this).text();
  var tr = $(this).closest('tr');  
  var qty = $(tr).find('input').val();
  console.log(qty);

Вам нужно получить ваш родительский элемент (tr здесь) и найти вход, чтобы получить ваше количество. надеюсь, это поможет

Метод nextUntil(-selector-) выбирает все предыдущие элементы для -selector-
используйте этот подход, чтобы получить количество:

var str = $(this).text();
var qty = $(this).parents('.item').next('td.qty').find("input[id^='updates_']").val();

http://jsfiddle.net/eetyr6ae/3/

Другие вопросы по тегам