2012-02-28 29 views
9

Sử dụng plugin javascript của Bootstrap, tôi đang cố gắng thay đổi thuộc tính nguồn dữ liệu thông qua phương thức $ .post của jQuery. Ban đầu, tôi có:Sự cố khi cập nhật nguồn dữ liệu typest của Bootstrap với phản hồi bài đăng

<input type="text" data-provide="typeahead" data-source="["Option 1","Option 2","Option 3"]"> 

Sau đó, chúng ta hãy nói một nút được nhấp và nó cố gắng cập nhật data-source:

$('button').on('click',function(){ 
    $.post('update.php',function(resp){ 
      $('input').attr('data-source',resp); 
    }); 
    }); 

Kết quả resp XHR trả về một mảng như thế này:

["One Option","Two Option","Three Option"] 

Tôi nhận thấy rằng điều này không đáng tin cậy cập nhật nguồn dữ liệu với một mảng mới được xây dựng trong phản hồi.

Có ai biết vấn đề có thể là gì không?

Điều này dường như không nắm bắt được giá trị đã chọn. Có ai biết làm thế nào để có được giá trị được lựa chọn bằng cách sử dụng typeahead với Bootstrap?

+0

Tôi nghĩ rằng bạn không nhận được nhiều phản hồi vì chúng tôi không gặp phải lỗi vật lý để giải quyết. Bạn có thể đăng các kết quả XHR không? các params? có lẽ giá trị resp sẽ trở lại trong một mảng không được chấp nhận. Bạn không trích dẫn các giá trị int và trích dẫn các giá trị varchar? những thứ đó. Nó có thể hữu ích hơn cho trường hợp của bạn. – Ohgodwhy

+0

Tôi đã thêm ví dụ về XHR trông như thế nào –

+0

Bạn có thể sử dụng plugin tùy chỉnh này cho phép tải dữ liệu ajax và hiển thị văn bản tùy chỉnh: https://gist.github.com/3287063 – user1307794

Trả lời

31

Cuối cùng tôi đã tìm ra cách để thực hiện việc này. Đó là outlined on github here.

Truy cập thuộc tính dữ liệu của đầu vào typeahead và sửa đổi trực tiếp mảng nguồn. Ví dụ:

var autocomplete = $('input').typeahead(); 

//where newSource is your own array 
autocomplete.data('typeahead').source = newSource; 
+2

Bạn nên chấp nhận câu trả lời này nếu sự cố của bạn đa giải quyêt xong. –

+0

Tại sao các câu lệnh không thực thi sau 'autocomplete.data ('typeahead'). Source = newSource;' – Vikram

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