Задать вопрос
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?
  • Вопрос задан
  • 2628 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
посчитайте значения переменных и сохраните в settings таблицы, в фильтр передается этот объект. но что то мне кажется сильного ускорения это не даст...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽