首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于DataTable的动态用户选择过滤器

问用于DataTable的动态用户选择过滤器
EN

Stack Overflow用户
提问于 2016-11-17 17:12:04
回答 1查看 2K关注 0票数 1

是否有一种方法可以让用户动态地选择他们希望应用于一个或多个列的筛选器类型?

我们使用DataTables jquery插件来显示。我正在研究用于过滤的yadcf插件(也打开其他选项)。

yadcf能够在设计时为每一列定义过滤器,但我们希望用户能够在运行时选择筛选器类型。我正在研究yadcf代码,以了解如何做到这一点,但是任何指针、想法和有用的提示都将是非常感谢的。

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 20:36:52

好的,我只做了一个简单的例子,允许用户为每一列定义启用/禁用筛选。您可以通过放置更多的下拉列表并询问他们想要哪种类型的筛选来扩展这一点。

小提琴

https://jsfiddle.net/ergec/6yjrrjyr/

html

代码语言:javascript
复制
Col 1:<select class="colfiltering" data-colnumber="0">
    <option value="">No</option>
    <option value="1">Yes</option>
</select>
Col 2:
<select class="colfiltering" data-colnumber="1">
    <option value="">No</option>
    <option value="1">Yes</option>
</select>
<button id="inityadcf">
    Apply Filters To Table
</button>
<br>
<br>
<br>
<table id="table_id" class="display">
    <thead>
        <tr>
            <th>Column 1</th>
            <th>Column 2</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Row 1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>Row 2</td>
            <td>1</td>
        </tr>
        <tr>
            <td>Row 1</td>
            <td>10</td>
        </tr>
    </tbody>
</table>

javascript

代码语言:javascript
复制
 var myTable = $('#table_id');
 myTable.DataTable();
 $("#inityadcf").click(function() {
 var colfiltering = [];
     $(".colfiltering").each(function() {
         var $that = $(this);
         if ($that.val()) {
             colfiltering.push({
                 column_number: $that.data("colnumber")
             });
         }
     });
     myTable.DataTable().destroy();
     myTable.DataTable();
     yadcf.init(myTable.DataTable(), colfiltering);
 });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40661069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档