为jquery table-yadcf做可点击标签过滤器的标签

时间:2015-03-12 09:25:42

标签: javascript jquery datatable yadcf

我看到这个过滤数据表的yadcf演示:Live Demo
您可以按标签过滤表格,但无法点击Tag1Tag2来使用它们,例如过滤表格结果,只返回包含Tag1Tag2的行。 可以在表格内使用标签,如cliccable标签过滤模式?

哪些代码必须在jquery.datatables.yadcf.js中编辑/添加?

在上面的演示中,这是代码的一部分。如何在column_number: 4或标记列中实现我的功能请求?

    $(document).ready(function () {
    'use strict';

    //----------------------------------------------
    // this is the code for column tag
    //----------------------------------------------

    oTable = $('#example').dataTable({
        "bJQueryUI": true,
        "bStateSave": true
    }).yadcf([{

     ......
     ......

       {
        column_number: 4,
        select_type: 'select2',
        select_type_options: {
            width: '150px'
            placeholder: 'Select tag',
            allowClear: true  // show 'x' (remove) next to selection inside the select itself
        },
        column_data_type: "html",
        html_data_type: "text",
        filter_reset_button_text: false // hide yadcf reset button
    }]);

    SyntaxHighlighter.all();

必须编辑哪些参数?

column_number
filter_type
custom_func
data
column_data_type
text_data_delimiter
html_data_type
filter_container_id
filter_default_label
filter_reset_button_text
enable_auto_complete
sort_as
sort_order
date_format
ignore_char
filter_match_mode
select_type
select_type_options
case_insensitive
filter_delay

1 个答案:

答案 0 :(得分:0)

可以通过以下方式实现

1)在页面准备就绪时调用此代码(请注意,您的选择器可能会有所不同)

$('#example').on('click',".label.lightblue", function () {
  yadcf.exFilterColumn(oTable, [[4, $(this).text()]]);
});

2)将onclick事件附加到您的"标签" ,像这样onclick="yadcf.exFilterColumn(oTable, [[4, 'Tag1']]);"