Я работаю на сайте электронной коммерции.
Моя таблица получает значение из сессии.
Это выглядит как :
На Проверять, выписываться Я хочу получить все значения таблицы.
я использовал JQuery за это.
Вот мой код:
<script>
$('#chhk').on('click',function(e) {
e.preventDefault();
alert('click');
var table = $("#tbl tbody");
table.find('tr').each(function (i, el) {
var $tds = $(this).find('td'),
product = $tds.eq(2).text(),
price = $tds.eq(3).text(),
quantity = $tds.eq(4).attr('value'),
total = $tds.eq(5).text();
alert('Row ' + (i + 1) + ':\nProduct: ' + product
+ '\nPrice: ' + price
+ '\nQuantity: ' + quantity
+ '\nTotal: ' + total);
});
});
</script>
Вот
‘#Chhk’ идентификатор кнопки оформления заказа
‘#Tbl’ это идентификатор моей таблицы
Я получаю пустое значение количество по этому сценарию как есть поле ввода
Любая помощь будет оценена ..
Попробуйте заменить это:
quantity = $tds.eq(4).attr('value');
с:
quantity = $tds.eq(4).val();
Поскольку .attr (‘value’) дает значение в начале, а .val () дает текущее свойство.
Больше информации:
jQuery .val () vs .attr ("значение")
замени это
quantity = $tds.eq(4).attr('value'),
с
quantity = $tds.eq(4).find("input").val(),
хорошо я попытался сделать это отдельно и получаю ожидаемый результат.
$('#chhk').on('click',function(e) {
e.preventDefault();
alert('click');
var table = $("#tbl tbody");
table.find('tr').each(function (i, el) {
var $tds = $(this).find('td'),
product = $tds.eq(2).text(),
price = $tds.eq(3).text(),
total = $tds.eq(5).text();
var qty = $(this).find('td input:first').val();
alert('Row ' + (i + 1) + ':\nProduct: ' + product
+ '\nPrice: ' + price
+ '\nTotal: ' + total
+'\n Qua:' + qty);
});
});
Имели дело количество по отдельности.