vasilevkirill
@vasilevkirill
Сертифицированный тренер MikroTik TR0417

Как передать в функцию (jQuery + DataTable + Filter) переменную?

Имеется код событие
$('#submit_filter_date').click(function(){
         $('#example').DataTable().draw(); //перерисовываем таблицу
    });

и код фильтра
$.fn.dataTableExt.afnFiltering.push(
        function( settings, data, dataIndex ) {
            var bb1=$('#dt1');
            var bb2=$('#dt2');
            if(!bb1.val()){
                bc1="2010-01-01";
            }else{
                bc1=bb1.val();
            }
            if(!bb2.val()){
                bc2="2020-01-01";
            }else{
                bc2=bb2.val();
            }
            var dt_range_col=$('.filtered_date_zm > li > a:contains("'+ $('#search_concept').text() +'")').attr("col");
            var dt1=bc1;
            var dt2=bc2;
            var age = data[dt_range_col];
            if (age <= dt2 && age >= dt1){
                return true;
            }
            return false;
        }
    );

Суть фильтра, что он перебирает каждую строку, и сравнивает значение ячейки data[dt_range_col] с dt1 и dt2

dt1=поле для ввода начальной даты
dt2=поле для ввода конечной даты
dt_range_col=номер столбца
суть в том, что сейчас этот код работает, a при 1000 и более строк, начинаются зависоны.
я грешу на то, что вот этот код выполнять для каждой строки ненужно, a в идеале повесить на click
var bb1=$('#dt1');
            var bb2=$('#dt2');
            if(!bb1.val()){
                bc1="2010-01-01";
            }else{
                bc1=bb1.val();
            }
            if(!bb2.val()){
                bc2="2020-01-01";
            }else{
                bc2=bb2.val();
            }
            var dt_range_col=$('.filtered_date_zm > li > a:contains("'+ $('#search_concept').text() +'")').attr("col");
            var dt1=bc1;
            var dt2=bc2;

собственно как передать в данную функцию переменные dt1,dt2,dt_range_col?
  • Вопрос задан
  • 2616 просмотров
Пригласить эксперта
Ответы на вопрос 1
посчитайте значения переменных и сохраните в settings таблицы, в фильтр передается этот объект. но что то мне кажется сильного ускорения это не даст...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы