首页 > 解决方案 > 在 DataTable 中搜索时禁用特定行

问题描述

我正在使用 DataTable 搜索。我有一个表,我想在其中搜索一个但禁用一些行。

$(function() {
  var oTable = $('#partnerTable').DataTable({
    "bPaginate": $('#partnerTable tbody tr').length > 50,
    "iDisplayLength": 50,
    "bAutoWidth": false,
    "bInfo": false,
    "aoColumns": [
      null,
      null,
      null,
      null
    ]
  });
  $('#partnerSearch').keyup(function() {
    var column = $('#getId').val();
    if (column == "pname")
      oTable.columns(0).search($(this).val()).draw();
    else if (column == "tel")
      oTable.columns(1).search($(this).val()).draw();
    else if (column == "email")
      oTable.columns(2).search($(this).val()).draw();
    else if (column == "pAgents") {
      oTable.columns(3).search($(this).val()).draw();
    } else {
      oTable.search($(this).val()).draw();
    }
  });

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>

<input class="form-control provider-search" placeholder="Search" id="partnerSearch" type="text">
<select id="getId" title="Provider" class="form-control round provider-select">
  <option value="all">ALL</option>
  <option value="pName">PROVIDER NAME</option>
  <option value="tel">TEL</option>
  <option value="email">EMAIL</option>
  <option value="pAgents">PARTNER AGENTS</option>
</select>

<table id="partnerTable" class="table table-responsive">
  <thead style="white-space: nowrap;">
    <tr style="font-size: 12px;color: #464646;border-bottom: 4px solid #E9E9E9 !important;">
      <th>PROVIDER NAME</th>
      <th>TEL</th>
      <th>EMAIL</th>
      <th>PARTNER AGENTS</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>ABC</td>
      <td>0172</td>
      <td>sbc@gmail.com</td>
      <td>mno</td>
    </tr>
    <tr>
      <td>DEF</td>
      <td>0177</td>
      <td>def@gmail.com</td>
      <td></td>
    </tr>
    <tr>
      <td>GHI</td>
      <td>0179</td>
      <td>ghi@gmail.com</td>
      <td>pqr</td>
    </tr>
    <tr>
      <td>JK</td>
      <td>0181</td>
      <td>jkl@gmail.com</td>
      <td></td>
    </tr>
  </tbody>
</table>

现在,在搜索我是否选择提供者时,我希望必须禁用具有数据的合作伙伴代理,并且搜索必须仅适用于空的合作伙伴代理,并且当我选择其他人时,我想要整个数据。这可能吗。注意:- 我的数据是动态的

标签: javascriptjquerydatatable

解决方案


推荐阅读