Tôi đang sử dụng Đồng vị (v1) và đã tạo trường tìm kiếm sau an example in a Pen.Bộ lọc + Tìm kiếm với các đồng vị Breaks Tìm kiếm?
Ban đầu nó hoạt động, tuy nhiên, nếu tôi lọc bộ sưu tập đồng vị thì trường tìm kiếm sẽ ngừng hoạt động.
Tôi tin rằng chức năng tìm kiếm vẫn chạy không lọc bộ sưu tập và tôi không chắc chắn cách khắc phục sự cố. Trong thực tế, tôi không chắc chắn những gì vấn đề chính xác là không có lỗi được ném.
Here is a Fiddle với ví dụ làm việc.
Dưới đây là tìm kiếm, lọc và đồng vị JavaScript:
var $container = $('.isotope'),
qsRegex,
filters = {};
$container.isotope({
itemSelector : '.element',
masonry : {
columnWidth : 120
},
getSortData : {
name : function ($elem) {
return $elem.find('.name').text();
}
},
filter: function() {
return qsRegex ? $(this).text().match(qsRegex) : true;
}
});
function searchFilter() {
qsRegex = new RegExp($quicksearch.val(), 'gi');
$container.isotope();
}
// use value of search field to filter
var $quicksearch = $('#quicksearch').keyup(debounce(searchFilter));
$('#reset').on('click', function() {
$quicksearch.val('');
searchFilter()
});
// store filter for each group
$('#filters').on('click', '.button', function() {
var $this = $(this);
// get group key
var $buttonGroup = $this.parents('.button-group');
var filterGroup = $buttonGroup.attr('data-filter-group');
// set filter for group
filters[ filterGroup ] = $this.attr('data-filter');
// combine filters
var filterValue = '';
for (var prop in filters) {
filterValue += filters[ prop ];
}
// set filter for Isotope
$container.isotope({ filter: filterValue });
});
// debounce so filtering doesn't happen every millisecond
function debounce(fn, threshold) {
var timeout;
return function debounced() {
if (timeout) {
clearTimeout(timeout);
}
function delayed() {
fn();
timeout = null;
}
setTimeout(delayed, threshold || 100);
}
}
Làm thế nào để giải quyết vấn đề?
Lưu ý: Tôi đang sử dụng jQuery 2.1.1.
bạn có thể làm cho một Fiddle? –
@DaveA - Có một câu hỏi trong câu hỏi của tôi. Ngay phía trên mã của tôi là liên kết. – L84
@MohdDhiyaulhaq - Bạn đã chỉnh sửa câu hỏi và thêm thẻ 'jsFiddle'. Bạn không nên thêm thẻ đó, từ [jsFiddle tag wiki] (http://stackoverflow.com/tags/jsfiddle/info): 'Thẻ này nên được sử dụng khi đặt câu hỏi về jsFiddle, không phải vì câu hỏi của bạn chỉ chứa một ví dụ được lưu trữ trên jsFiddle.' – L84