2013-06-24 33 views
6

Tôi đang cố tắt tất cả các hộp văn bản trên biểu mẫu của mình. Một trong những hộp có một typeahead trên đó. Khi tôi làm:Xóa Twitter Typeahead khỏi Hộp văn bản

$(#textbox).attr('disabled', true); 

Nó không còn được kích hoạt, nhưng màu không chuyển đổi giống như tất cả các hộp văn bản khác khi chúng bị vô hiệu hóa.

Tôi tin rằng điều này là do typeahead twitter và tôi tự hỏi nếu có một cách xung quanh nó. Có ai biết làm thế nào để ghi đè lên màu nền hộp văn bản hoặc loại bỏ hoàn toàn typeahead khi hộp văn bản bị vô hiệu hóa?

Tôi đã thử .unbind().addClass("greyBackground") nhưng không có cách nào trong số này có vẻ như lừa.

+0

Tôi thấy màu sắc thay đổi tốt – Ian

+0

@Tôi đang triển khai gì để vô hiệu hộp văn bản? –

+0

Bị vô hiệu hóa đúng ở đây cũng (nền được thay đổi trong một bootstrap "sạch" tươi) - có thể là '$ (" # textbox "). Attr (' (sử dụng dấu ngoặc kép) sẽ giúp? – davidkonrad

Trả lời

13

Nếu bạn không quan tâm đến việc duy trì các chức năng typeahead.js trong khi textarea bị vô hiệu hóa, bạn có thể phá hủy các typeahead như vậy:

$('#textbox').typeahead('destroy'); 

này sẽ đặt lại/xóa bất kỳ thuộc tính/phong cách typeahead.js có thể đã thêm. Nếu sau này bạn muốn thêm lại các chức năng typeahead.js, bạn có thể khởi tạo lại nó với:

$('#textbox').typeahead({ /* configs */ }); 

Ngoài ra, typeahead.js không hỗ trợ textarea yếu tố ra khỏi hộp, vì vậy, trừ khi bạn đang sử dụng một Phiên bản chia tay, bạn không nên giả sử typeahead.js sẽ hoạt động như mong đợi.

+0

Nó nên được đề cập rằng '.typeahead ('destroy')' không có sẵn trong phiên bản Bootstrap 2.2. 2. – Eye

+0

Cảm ơn @Eye.Tôi đã tìm kiếm một thời gian cho mỗi bài viết nói rằng để sử dụng phá hủy nhưng nó không hoạt động.Bây giờ tôi biết lý do tại sao.Bất cứ ai biết một thay thế? – RAC

1

Trong tệp Bootstrap 2.2.2, không có hàm .typeahead('destroy'), vì vậy sau đây loại bỏ tất cả người nghe mà trước đây nó đã ràng buộc và phần tử DOM mà nó đã tạo.

$('#textbox').off() 
     .data('typeahead') 
     .$menu 
     .off() 
     .remove(); 
+0

Tôi vẫn còn trên Bootstrap 2.3.2 và tôi thấy rằng nếu tôi muốn thêm lại typeahead sau, tôi cũng phải loại bỏ đối tượng typeahead bằng cách sử dụng '.data ('typeahead', null)' –

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