你如何通过复选框获得一个或多个选中行中某个单元格的值,并将该行的值传递给其他php表单进行查询?基本上我有一个带有select扩展和searchbuilder的datatable。我可以选择多个项目,但似乎不能使获得选中行工作。
表格
<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th>
<form method="post" action="query.php">
<button type="submit" name="send"></button>
</form>
</th>
<th>ID</th>
<th>Name</th>
</thead>
<tbody>
<?php
$sql = mysqli_query($db,"query inside here");
while ($row=mysqli_fetch_array($sql)){ ?>
<tr>
<td></td>
<td><?php echo $row['app_id'] ?></td>
<td><?php echo $row['app_nname']</td>
<?php }?>
</tbody>
<tfooter>
<tr>
<th></th>
<th>ID</th>
<th>Name</th>
</tr>
</tfooter>
</table>
Javascript语言
<script>
$(document).ready(function() {
var table = $('#example').DataTable( {
dom: 'QBfrtip',
select: true,
buttons: [
{
text: 'Select all',
action: function () {
table.rows({
page:'current',search: 'applied'} ).select();
}
},
{
text: 'Select none',
action: function () {
table.rows().deselect();
}
}
],
columnDefs: [{
searchBuilder: {
defaultCondition: "=",
},
targets: [1]
}],
} );
} );
</script>
我尝试过使用table.rows({selected:true})
,但不知道如何获取查询(app_id)所需的特定值或一组值。
另外,我如何使app_id值通过header标记中的button click传递到下一个php页面?
1条答案
按热度按时间iqxoj9l91#
“* 如何获取选定的单行或多行中某个单元格的值 *”
一个建议:既然您已经在使用DataTable按钮,为什么不创建一个DataTable按钮来处理所需的选定ID的捕获。
为此,我忽略了问题表中的第一列(复选框列),因为我的演示不需要它。
您可以将其添加回演示中-如果您愿意,它不会改变整个方法。
我再加一个按钮:
这个逻辑被分解成几个小步骤,只是为了演示的目的--但是您可以简化它。最后的
console.log( ids )
将记录列0(ID列)中的值的数组。关键的一步是使用这个:
以访问选定的行。
一旦您有了需要POST到服务器的值数组,那么这就是一个单独的步骤了。这个答案只涉及从DataTable获取选定的数据。
如果你仍然喜欢使用复选框(一个完全合理的方法),那么你也可以保留你的标准HTML按钮。
完整演示:
一个二个一个一个