我试图从一行中具有特定类的jquery数据表中获取数据。
我的表格如下所示:数据表也有分页。
ID | DocumentID | FileName | |
------------------------------------------
1 | 201| abc.cc | check box|
我已使用以下代码为某些行添加了一个类:
$('body').on('change', 'input.checked-box', function () {
if ($(this).prop('checked') == true) {
$(this).closest('tr').addClass('selectedRow');
}
else {
$(this).closest('tr').removeClass('selectedRow');
}
if (table.rows('.selectedRow').data().length > 0) {
$('#downloadDoc').removeClass('inactive');
$('#downloadDoc').addClass('active');
}
else {
$('#downloadDoc').removeClass('active');
$('#downloadDoc').addClass('inactive');
}
});
在上面的代码中:input.checked-box
是一个复选框<input type='checkbox' class='checked-box' id='check0'>
,复选框将添加到具有特定ID的每一行。单击复选框时,相应的行将获得class='selectedRow'
。因此,上面的代码在选中相应的复选框时为每行添加一个类。到目前为止工作得很好。
现在,当我点击一个按钮(比如class='selectedRow'
)
我的HTML:
<div class="table-responsive">
<button id='downloadDoc' class='inactive'>
<table id="attachmentList" class="display">
<thead>
<tr>
<th></th>
<th>Attachment Detail Id</th>
<th>File Name</th>
<th></th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
答案 0 :(得分:0)
迭代表行并使用特定类选择它们。
然后,获取第二个单元格的文本并将其存储在一个数组中(arr
)
您可以使用eq()
函数来定位每行的第二个单元格。
注意:如果您不知道乞讨,Attachment Detail Id
列的索引,您可以这样做:
在特定列中添加ID:
<tr>
<th></th>
<th id="att_id">Attachment Detail Id</th>
<th>File Name</th>
<th></th>
</tr>
找到特定列的索引,将其存储在可变(i
)中并将其传递给eq()
函数:
var arr = [];
$('#attachmentList').find('tr').each(function() {
var that = $(this);
var i = $('#attachmentList').find('#att_id').index();
var class = that.attr('class');
if (class == 'selectedRow') {
arr.push(that.find('td').eq(i).text());
}
});
console.log(arr);