2011-01-15 32 views
8

Tôi sử dụng tính năng tự động hoàn thành jQuery ui.Dữ liệu làm mới tự động hoàn thành UI UI

var colors; 

$(document).ready(function(){ 
     loadColors(); 
     $('#empf').autocomplete(colors); 
} 

function loadColors(){ 
colors = new Array(getNumColor()); 
//in a loop save the colors to array using colors[i] = ... 
} 

function addColor(){ 
    ... 
    color[n] = color; 
} 

Khi người dùng nhập màu mới, nó sẽ được lưu vào mảng màu. Tôi chuyển sang biểu mẫu tự động điền nhưng dữ liệu đã nhập không khả dụng cho đến khi tôi làm mới trang.

Bất kỳ ý tưởng nào về cách làm cho màu mới có thể tải lên để tự động hoàn tất?

+0

Đảm bảo đăng * mã * thực tế của bạn trong các câu hỏi ... có một vài lỗi trong mã bạn đã đăng, câu hỏi được diễn đạt như * đang hoạt động, vì vậy tôi cho rằng mã khác trong câu hỏi, xin vui lòng bình luận về câu trả lời nếu tôi đã hiểu lầm và nó * không * hiện đang làm việc. –

Trả lời

21

Khi bạn cập nhật màu sắc, bạn cũng cần phải cập nhật các source that autocomplete uses, như thế này:

function addColor() { 
    //add colors 
    $('#empf').autocomplete("option", { source: colors }); 
} 

Here's a sample demo doing this, thêm một màu sắc và cập nhật các nguồn autocomplete một lần thứ hai.

+0

cảm ơn nó hoạt động ngay bây giờ! –

+0

@ArtWorkAD - welcome :) –

+0

Tôi sử dụng tự động điền nhưng có chức năng gọi lại cho sự kiện 'chọn'. Điều gì về việc này nhưng không thiết lập lại chức năng gọi lại? Sự kiện gọi lại vẫn hoạt động hoặc nó sẽ biến mất? – madtyn

0

Tôi đã thử giải pháp của Nick Craver, trông hoàn toàn hợp lý. Có thể, đó là vì tôi đang sử dụng chuỗi URL thay vì một mảng là 'nguồn'. Thật không may giải pháp của ông không làm một làm mới sống cho dữ liệu ajax trở lại. Để làm mới một nguồn dữ liệu ajax, tôi thấy rằng các công việc sau:

element.autocomplete("option","source",url); 
element.autocomplete("search"); 

Tôi nghĩ rằng phương pháp 'tìm kiếm' là cần thiết cho chuỗi hoặc nguồn URL ajax loại.

Các vấn đề liên quan