After Global Search sorting is Failed

After Global Search sorting is Failed

HasanshaliHasanshali Posts: 4Questions: 1Answers: 0
edited June 2017 in Free community support

I'm using global search after filter the value sorting is reloaded not working for filter data. Pls see my code.

# JavaScript Code
`
$(document).ready(function () {
var oTable = $('#tbl').dataTable({
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true,

    });
    $('#globalSearchText').unbind();
    $('#globalSearchText').bind('keyup', function (e) {
        if (e.keyCode == 13) {
            var searchTerm = this.value.toLowerCase();
            $.fn.dataTable.ext.search.push(function (settings, data, dataIndex) {
                //search only in column 1 and 2
                if (~data[0].toLowerCase().indexOf(searchTerm)) return true;
                if (~data[1].toLowerCase().indexOf(searchTerm)) return true;
                if (~data[2].toLowerCase().indexOf(searchTerm)) return true;
                if (~data[5].toLowerCase().indexOf(searchTerm)) return true;

                return false;
            })
            oTable.fnDraw();
            $.fn.dataTable.ext.search.pop();
        }
    });

});

~~~~`

This question has an accepted answers - jump to answer

Answers

  • tangerinetangerine Posts: 3,365Questions: 39Answers: 395

    Your second screenshot shows "id" sorted in descending order. So probably you didn't need to re-sort at all.
    Maybe I'm misunderstanding the question. A better explanation might help.

  • allanallan Posts: 63,893Questions: 1Answers: 10,531 Site admin
    Answer ✓

    Don't do this:

    $.fn.dataTable.ext.search.push

    Inside a key event handler! That will add the filter every time a key is pressed and its going to kill performance!

    Just do it once :)

    Allan

  • HasanshaliHasanshali Posts: 4Questions: 1Answers: 0

    Allan@ I'm using for this functionality ($.fn.dataTable.ext.search.push) search by particular column only.

  • HasanshaliHasanshali Posts: 4Questions: 1Answers: 0

    tangerine@ After global search exact data is filtering but on that time I clicked Id for sorting Table is reloaded not working sorting for global search data.

  • allanallan Posts: 63,893Questions: 1Answers: 10,531 Site admin

    Allan@ I'm using for this functionality ($.fn.dataTable.ext.search.push) search by particular column only.

    Sure. But you are adding it every time the return key is pressed. That's going to be very bad for performance.

    Allan

  • HasanshaliHasanshali Posts: 4Questions: 1Answers: 0

    Thanks Allan Its working I removed $.fn.dataTable.ext.search.pop();

This discussion has been closed.