Обход таблицы с помощью 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();