Быстрая и простая фильтрация элементов на странице с помощью jQuery
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function show_only_proper_items() { var $items_all = $('.item'); var select_value = $('#select').val(); var $items_filtered_by_select_value = $items_all.filter('[data-for-select="'+select_value+'"]'); var filter_text = $('#text').val(); if (filter_text == '') { var $items_filtered_by_text = $items_filtered_by_select_value; } else { var $items_filtered_by_name = $items_filtered_by_select_value.filter('[data-item-name*="'+filter_text+'"]'); var $items_filtered_by_description = $items_filtered_by_select_value.filter('[data-item-description*="'+filter_text+'"]'); var $items_filtered_by_text = $items_filtered_by_name.add($items_filtered_by_description); } var $items_to_show = $items_filtered_by_text; var $items_to_hide = $items_all.not($items_to_show); $items_to_hide.hide(); $items_to_show.show(); } |
Вот такой простой и понятный код. Работает быстро, потому что мы работали с DOM’ом только в самом начале и в конце. Плюс мы применяем […]
Continue reading »