Php 如何使用jquery从动态表中获取输入类型的值
我在电子商务网站工作 我的表从会话中获取值。 它看起来像: 在签出时,我想得到表中的所有值 为此,我使用了jquery 这是我的密码:Php 如何使用jquery从动态表中获取输入类型的值,php,jquery,dynamic-tables,Php,Jquery,Dynamic Tables,我在电子商务网站工作 我的表从会话中获取值。 它看起来像: 在签出时,我想得到表中的所有值 为此,我使用了jquery 这是我的密码: <script> $('#chhk').on('click',function(e) { e.preventDefault(); alert('click'); var table = $("#tbl tbody");
<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')。在('click',函数(e){
e、 预防默认值();
警报(“点击”);
var表=$(“#待定”);
表.查找('tr')。每个(函数(i,el){
var$tds=$(this.find('td'),
product=$tds.eq(2).text(),
价格=$tds.eq(3).text(),
数量=$tds.eq(4).attr('value'),
总计=$tds.eq(5.text();
警报('行'+(i+1)+':\n产品:'+产品
+“\n价格:”+价格
+“\n数量:”+数量
+“\n总计:”+总计);
});
});
这里
“#chhk”是签出按钮id
“#tbl”是我的表id
我通过此脚本获得数量的空白值,因为它是输入字段
如有任何帮助,将不胜感激。请尝试替换此:
quantity = $tds.eq(4).attr('value');
与:
As.attr('value')在开始时给出值,而.val()给出当前属性
更多信息:
尝试更换此:
quantity = $tds.eq(4).attr('value');
与:
As.attr('value')在开始时给出值,而.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);
});
});
已经分别处理了数量。我试着分别处理,并得到了预期的结果
$('#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);
});
});
已分别处理数量。替换此:
quantity = $tds.eq(4).attr('value'),
与
替换此项:
quantity = $tds.eq(4).attr('value'),
与
我以前尝试过这个方法,但是没有定义数量。请检查我下面的答案,让我知道我是否可以将数量脚本与.eq语法一起使用。似乎值在输入标记中,而不是通过.eq语法获得的td标记中。这意味着您必须从td标记中取出输入标记<代码>数量=$tds.eq(4).children(“input”).val()代码>可能有效。正如我前面提到的,它是动态表,所以输入类型必须是tdTry
quantity=$tds.eq(4).children(“input”).val()代码>如果您想保留.eq语法。我以前尝试过,但数量未定义。请检查我下面的答案,并告诉我是否可以将数量脚本与.eq语法一起使用。eq syntax的值似乎在输入标记中,而不是通过.eq语法获得的td标记中。这意味着您必须从td标记中取出输入标记<代码>数量=$tds.eq(4).children(“input”).val()代码>可能有效。正如我前面提到的,它是动态表,所以输入类型必须是tdTryquantity=$tds.eq(4).children(“input”).val()代码>如果要保留.eq语法。