2012-01-12 16 views
6

Vì vậy, tôi đã tìm kiếm nhưng không thể tìm thấy câu trả lời. Điều này có thể là một cái gì đó tầm thường tuy nhiên tôi chỉ không thể nhìn thấy những gì đang gây ra điều này.jQuery UI Tự động hoàn thành Không lọc dữ liệu

Tôi đang sử dụng jQuery UI Autocomplete, nó hiển thị kết quả json. Vì vậy, tôi biết JSON của tôi là hợp lệ. Tuy nhiên, nó không lọc bất cứ thứ gì. Vì vậy, tôi có thể nhập một số và nó chỉ hiển thị tất cả dữ liệu. Bất kỳ lời khuyên sẽ được đánh giá rất nhiều!

Tôi đánh giá cao thời gian của bạn !!

Đây là mã tự động hoàn thành của tôi.

$.widget('custom.catcomplete', $.ui.autocomplete, { 
    _renderMenu: function(ul, items) { 
     var self = this, 
      currentCategory = ''; 
     $.each(items, function(index, item) { 
      if (item.category != currentCategory) { 
       ul.append('<li class="ui-autocomplete-category">' + item.category + '</li>'); 
       currentCategory = item.category; 
      } 
      self._renderItem(ul, item); 
     }); 
    } 
    }); 


    $('#category').catcomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: '/wp-content/plugins/pagelines-sections/searchbar/products.json', 
      dataType: 'json', 
      data: { 
       term: request.term 
      }, 
      cache: true, 
      success: function(data) { 
       response($.map(data.products, function(item) { 
        return { 
         category: item.category, 
         label: item.label, 
         value: item.value 
        }; 
       })); 
      } 
     }); 
     }, 
     minLength: 1 
    }); 

Trả lời

0

trong bài viết này một explain hoàn thành về anh chàng thành phần JQuery UI Auto-complete :)

Jquery UI AutoComplete

2

lọc phải được thực hiện phía máy chủ, dựa trên thông số "Thời hạn". Kiểm tra, dữ liệu máy chủ của bạn trả về bằng công cụ phát triển Firebug hoặc Chrome (F12) và đảm bảo rằng dữ liệu phụ thuộc vào tham số "thuật ngữ".