2014-09-29 4 views
0

я настроил следующую jsfiddle: http://jsfiddle.net/16bmcr6d/4/загрузочный стол фильтр с флажком

Вот код, который я до сих пор:

$(document).ready(function() { 

(function ($) { 

    $('#filter').keyup(function() { 

     var rex = new RegExp($(this).val(), 'i'); 
     $('.searchable tr').hide(); 
     $('.searchable tr').filter(function() { 
      return rex.test($(this).text()); 
     }).show(); 

    }) 

}(jQuery)); 

}); 

Как я могу настроить его дальше, чтобы иметь все остатки, спрятанные когда-то флажок установлен?

<label><input id="filter2" type="checkbox" checked="">Filter zero balances</label> 

Также как я могу сохранить это значение, поэтому в следующий раз, когда я загружаю страницу, этот флажок все еще проверяется?

В примере, когда флажок установлен, следует отображать только фунт и грузинский лиари.

ответ

1

я настроил вашу скрипку, чтобы дать вам представление о том, как это сделать:

updated Fiddle

Что filter - функция в основном это будет возвращать только DOM - элементы, где прошла анонимной функция возвращает true, так что в этом случае, вам нужно только обеспечить подходящую функцию, например:

return $(this).find('td').eq(3).text() !== "0"

с помощью .find('td').eq(3) Я просто выбрать td -элементные, где хранится баланс, который в таблице-строке четвертого td (.eq является нулевой индекс, основанный)

Весь код, который запускается на выполнение, когда change - событие срабатывает на флажок:

$('#filter2').on('change', function(){ 

    if(this.checked){ 
     $('.searchable tr').hide(); 
     $('.searchable tr').filter(function() { 
      return $(this).find('td').eq(3).text() !== "0" 
     }).show(); 
    }else{ 
     $('.searchable tr').show(); 
    }    

}); 

Есть несколько способов, чтобы сохранить состояние флажка над различными сессиями, вы могли бы использовать Cookies или что-то вроде LocalStorage, например.

+0

спасибо! Работает, как я себе это представлял! Будет работать теперь на опции сохранения файлов cookie (или localStorage). – domi771

Смежные вопросы