在jQuery treetable

时间:2017-05-30 07:27:11

标签: jquery html treetable

我想在我的treetable中实现一个搜索过滤器。我正在使用JQuery treetable库,这是我到目前为止所做的,但它似乎没有工作。有人有任何想法吗?

这是我的HTML:

<table id="example">
  <tbody>
    <thead>
      <tr>
        <th>Tree data</th>
      </tr>
      <input class="search" placeholder="Search" />
      <p class="log"></p>
    </thead>
</tbody>

这是我为搜索过滤器实现的功能:

var $rows = $('#example tr').treetable({expandable: true});
$('#search').keyup(function() {
  var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();

  $rows.show().filter(function() {
    var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
    return !~text.indexOf(val);
  }).hide();
});

1 个答案:

答案 0 :(得分:0)

首先,它应该是$('.search').keyup ...而不是$('#search').keyup...

第二,我认为,更好的方法是:

var $rows = $('#tree_table tbody tr').treetable({expandable: true});
$('.search').keyup(function() {
    var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
    $rows.show().filter(function() {
        var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
        return !~text.indexOf(val);
    }).hide();
});

通过这种方式,头部始终保持不变。