Javascript 搜索数据表时,当数据表行减少为一行时显示按钮

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(

我正在使用jQuery数据表列出一组成员。当在表中搜索某个成员时,当dataTable行减少到仅该成员时,我希望显示一个按钮,否则按钮应保持隐藏

我找不到一个方法将偶数处理程序链接到这个。请帮我找个解决办法

<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> &nbsp 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表添加到脚本中并使用它。。。谢谢