简体   繁体   中英

Datatable YADCF server side filter type

I am using yadcf column filters to a server side DataTables.js request.

 yadcf.init(table, [
       {
                    column_number: 0,
                    filter_type: "text",
                    filter_default_label: "Search",
                    filter_reset_button_text: false
        },
        {
                    column_number: 1,
                    filter_type: "select",
                    filter_reset_button_text: false
        },
     ]

Request give me

columns[X][search][value]

columns[X][search][name] like this but I want to get column yadcf column attribute filter_type .

This data help to search for contains search or equals search

How is it get? or change scripts.

Version 0.9.3

I send mail to Daniel Reznick (yadcf writer)

Daniel Reznick answers :

I think you could achieve it by using some datatables "pre XHR" event / hook in which you can modify the XHR request before its being sent to server, but IMO since this is being initialized only once (when you write your JS code) I guess you can do it "hard coded" on server

My Code like this

var table = $("#datalist")
            .on('preXhr.dt', function (e, settings, data) {
                var yadcf = [];
                $('.yadcf-filter').each(function (data) {
                    input = $(this)
                    var col = {
                        "type": input.attr('type'),
                        "filter_match_mode": input.attr('filter_match_mode'),
                        "column_number": input.attr('id').replace('yadcf-filter--datalist-', '')  
                    }
                    yadcf.push(col);
                });
                data.yadcf = yadcf;
            })
          .DataTable({
            "ajax": {
                "url": "/url",
                "type": "POST",
                "datatype": "json"
            },




yadcf.init(table, [

            { column_number: 1, filter_type: "text", filter_default_label: "Contains Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode:"contains"},
            { column_number: 2, filter_type: "text", filter_default_label: "Exact Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode: "exact" },
            { column_number: 3, filter_type: "text", filter_default_label: "Starts With Search", filter_reset_button_text: false, filter_delay: 500, filter_match_mode: "startsWith" },

]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM