Javascript 搜索数据表时,当数据表行减少为一行时显示按钮
我正在使用jQuery数据表列出一组成员。当在表中搜索某个成员时,当dataTable行减少到仅该成员时,我希望显示一个按钮,否则按钮应保持隐藏 我找不到一个方法将偶数处理程序链接到这个。请帮我找个解决办法Javascript 搜索数据表时,当数据表行减少为一行时显示按钮,javascript,jquery,html,datatable,show-hide,Javascript,Jquery,Html,Datatable,Show Hide,我正在使用jQuery数据表列出一组成员。当在表中搜索某个成员时,当dataTable行减少到仅该成员时,我希望显示一个按钮,否则按钮应保持隐藏 我找不到一个方法将偶数处理程序链接到这个。请帮我找个解决办法 <script> $(function() { $('#addButton').hide(); }); </script> <script> $('#example4_filter input').keydown(
<script>
$(function() {
$('#addButton').hide();
});
</script>
<script>
$('#example4_filter input').keydown(function() {
if ($('#example4 > tr').length == 1) {
$('#addButton').show();
} else {
$('#addButton').hide();
}
});
</script>
<table id="example4" class="display table table-bordered table-striped" width="100%" cellspacing="0">
<col width='110'>
<col width='auto'>
<col width='120'>
<thead height='35'>
<tr>
<th>Code</th>
<th>Member Name</th>
<th>NIC</th>
<th> <p id='addButton'> <a href="{{ url('') }}" class="btn btn-success btn-xs"> <span class="glyphicon glyphicon-check"></span> <strong>   Select </strong> </a> </p> </th>
</tr>
</thead>
<tbody>
@foreach ($memberDetails as $memberDetail)
<tr>
<td data-search="Tiger Nixon"> {!! $memberDetail->id !!} </td>
<td> {!! $memberDetail->firstName.' '.$memberDetail->lastName !!} </td>
<td> {!! $memberDetail->nic !!} </td>
<td> </td>
</tr>
@endforeach
</tbody>
</table>
$(函数(){
$(“#添加按钮”).hide();
});
$('#示例4_过滤器输入').keydown(函数(){
如果($('#示例4>tr')。长度==1){
$(“#添加按钮”).show();
}否则{
$(“#添加按钮”).hide();
}
});
代码
成员名称
NIC
@foreach($memberDetails作为$memberDetail)
{!!$memberDetail->id!!}
{!!$memberDetail->firstName.'.$memberDetail->lastName!!}
{!!$memberDetail->nic!!}
@endforeach
这是用于搜索dataTable的inspect元素代码
<div id="example4_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer">
<div class="row">
::before
<div class="col-sm-6"></div>
<div class="col-sm-6">
<div id="example4_filter" class="dataTables_filter">
<label>
Search:
<input class="form-control input-sm" type="search" placeholder="" aria-controls="example4"></input>
</label>
</div>
</div>
::after
</div>
$('#example4').DataTable({
"paging": true,
"lengthChange": false,
"searching": true,
"ordering": false,
"info": false,
"autoWidth": false,
"lengthMenu": [[5], [5]]
});
::之前
搜索:
::之后
$('#示例4')。数据表({
“分页”:正确,
“长度变化”:错误,
“搜索”:没错,
“命令”:错误,
“信息”:错误,
“自动宽度”:false,
“长度菜单”:[[5],[5]]
});
我假设您使用的是dataTables 1.10.x。您可以利用search.dt
事件。如果您有这样初始化的表
:
var table = $('#example').DataTable({
//options
})
当且仅当数据表中有一条记录可见时,使用search.dt
事件显示按钮:
$('#example').on('search.dt', function() {
if (table.rows( {filter:'applied'} ).data().length == 1) {
$('#addButton').show();
} else {
$('#addButton').hide();
}
})
如果长度为1,则计算行数show buttonya,但如何做到这一点?我试过了,但没能。。。这是我的代码$(function(){$('#addButton').hide();})$(“#示例4_过滤器输入”).keydown(函数(){if($(“#示例4>tr').length==1){$(“#添加按钮”).show();}否则{$(“#添加按钮”).hide()})$(function(){$('#addButton').hide();})$(“#示例4_过滤器输入”).keydown(函数(){if($(“#示例4>tr').length==1){$(“#添加按钮”).show();}否则{$(“#添加按钮”).hide()});编辑你的答案show html and jsaddButton是保存按钮的元素id示例4是我的表id如果我使用你所说的初始化方法,有没有一种方法可以将我自己的列添加到数据表中?我的意思是,假设我想要三列id、name、age如何在这个方法中初始化它们?问题是,我正在用数据库中的数据填充datatable,使用php,那么可以用这些数据初始化datatable吗?您说过要用var table=$('#示例')。datatable({//options})初始化datatable但是这种方法在我的例子中无法实现,因为我使用php从数据库中获取数据,所以您的方法在实际应用中不实用here@RIzanZaky,我假设您正在做您已经在做的事情,您正在初始化一个数据表,不是吗?这是问题的全部前提。您在某处有一个
DataTable()
,我显示table=$('#示例').DataTable({//options})
的唯一原因是解释您需要DataTable()
返回的table
变量。我这样做是因为你没有把你的剧本包括在问题中。哦,对不起,它很有效。。。我刚刚将var表添加到脚本中并使用它。。。谢谢