[英]How to select data from a table row with jQuery
我试图在按行中的输入按钮时提取一行中的数据(实际上我只需要一列)。 我用了:
$(document).ready(function() {
var ttl_emp = $('#no_emp').text();
var ttl_sal = $('#tl_sal').text();
$('#wtable').on('click', 'input', function() {
var rdata = $(this).parents('tr td:nth-child(8)').text();
alert(rdata);
ttl_sal = ttl_sal - c_emp_netSal;
$(this).parents('tr').remove();
$('#no_emp').text(ttl_emp - 1);
ttl_emp = ttl_emp - 1;
$('#tl_sal').text(ttl_sal);
});
});
但是失败了,并且控制台提到了未定义的数据。 wtable
是表的ID。
作为您的问题,您可以使用此代码使用jquery从表中的选定行获取数据。 这是示例代码,请尝试理解此逻辑,然后再在代码中实现。 希望对您有帮助。
描述我们使用.find()
函数来获得对表的正确控制。 因此,如果input
类型是文本,则使用.find('input[type="text"]')
eq()
是使用索引号查找的函数,因此,如果您的列在表中位于第一位置,则应使用eq(0)
获取表中第一列的值。 此索引号条件适用于所有同级列。
在此代码中,我们使用.val()
从textbox
获取值。 如果要从标签获取文本,则应使用.text()
。
这里的逻辑
$(document).ready(function(){
$('#tableid tr').each(function(){
var name = $(this).closest('td').find('input[type="text"]').eq(0).val();
});
});
您的逻辑代码
$(document).ready(function() {
var ttl_emp = $('#no_emp').text();
var ttl_sal = $('#tl_sal').text();
$('#wtable tr').on('click', function() {
var rdata = $(this).find('td').eq(8).val(); // for label use val() otherwise for textbox use text() for get value
alert(rdata);
ttl_sal = ttl_sal - c_emp_netSal;
$('#no_emp').text(ttl_emp - 1);
ttl_emp = ttl_emp - 1;
$('#tl_sal').text(ttl_sal);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.