javascript - 按负整数过滤 jQuery 数据表

标签 javascript jquery datatables

我可以对负片上的数据表进行排序,但我想对 select.change() 事件进行过滤而不是排序。基本上,我只需要它获取第 4 列的值并根据选择框选择 { all、positive 或 negative } 渲染行。

<table class="data-table">
    <thead>
      <tr>
        <th>Text</th>
        <th>Text</th>
        <th>Text</th>
        <th>Value</th>
      </tr>
    </thead>
    <tbody>
      <tr>
         <td>Lorem</td>
         <td>Ipsum</td>
         <td>Dolor</td>
         <td>$1.99</td>
      </tr>
      <tr>
         <td>Lorem</td>
         <td>Ipsum</td>
         <td>Dolor</td>
         <td>$2.99</td>
      </tr>
      <tr>
         <td>Lorem</td>
         <td>Ipsum</td>
         <td>Dolor</td>
         <td>$-1.99</td>
      <tr>
         <td>Lorem</td>
         <td>Ipsum</td>
         <td>Dolor</td>
         <td>$-2.99</td>
      </tr>
      </tr>
    </tbody>
    <tfoot>
      <tr>
        <td colspan="4">
          <select class="select-filter">
            <option value="1">All</option>
            <option value="2">Positive</option>
            <option value="3">Negative</option>
          </select>
      </tr>
    </tfoot>
</table>

然后我尝试了几个js:

$(function(){
    $(".data-table").dataTable();
    $('.select-filter').change(function(){oTable.fnDraw();});
});

但是“看起来”最容易实现我想要的的是:

$(".data-table").dataTable().columnFilter({
    aoColumns: [
      null,
      null,
      null,
      {type: "select"}
    ]
});

尽管如此,它只会创建一个包含所有值的选择。我怎样才能做到这一点?

最佳答案

这是一种方法:http://jsfiddle.net/AGsPA/

'myFilter' 是选择的 ID。 afnFiltering 允许您将自己的自定义过滤器添加到数据表中。请注意,下面的过滤器函数很简单 - 值列中没有破折号的任何内容都将被视为正值(包括空格)。任何带破折号的都是负数。

var myFilter = $('#myFilter');

$.fn.dataTableExt.afnFiltering.push(
    function( oSettings, aData, iDataIndex ) {
        if (myFilter.val() == 1)
            return true;
        else if (myFilter.val() == 2)
            return (aData[3].indexOf('-') == -1);
        else
            return (aData[3].indexOf('-') != -1);
    }
);
myFilter.change(function () { $('#myTable').dataTable().fnDraw(); });

您可能对此也感兴趣:DataTables Column Filter Add On

关于javascript - 按负整数过滤 jQuery 数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16780651/

相关文章:

javascript - HTML/CSS/JS - 添加图像到输入 [type=submit]

jquery - 如何从 jQuery Datatable 获取过滤后的数据结果集

html - DataTables隐藏行明细示例——表头错位(附测试用例)

javascript - 这在 js "xin || {}"中有什么作用?

javascript - Google Places API 自动完成功能返回的位置偏差

javascript - 如何实现滚动内容小部件

php - Laravel Concat 获取名字+中间名+姓氏

javascript - 计算对象出现的次数

javascript - 如何在 Angular 或 Javascript 中获取多个对象中的数组结果?

php - 在 jquery 中添加 ajax 后 OnClick 不起作用