2013-06-24 4 views
6

Я пытаюсь отключить все текстовые поля в своей форме. У одного из этих ящиков есть typeahead. Когда я делаю:Удалить Twitter Typeahead из текстового поля

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

Он больше не включен, но цвет не включается, как и все другие текстовые поля, когда они становятся инвалидами.

Я считаю, что это связано с твиттер-типом, и мне интересно, есть ли способ вокруг него. Кто-нибудь знает, как переопределить цвет фона в текстовом поле или полностью удалить текстовое поле, когда текстовое поле отключено?

Я пробовал .unbind() и .addClass("greyBackground"), но ни один из них, похоже, не делает этого.

+0

Я вижу, что цвет меняется просто отлично – Ian

+0

@Ий, какую реализацию вы используете, чтобы отключить текстовое поле? –

+0

Здесь также отключен (фон изменен в чистой «свежей» начальной загрузке) - возможно, '$ (" # textbox "). Attr (' (используя кавычки) поможет? – davidkonrad

ответ

13

Если вы не заботитесь о сохранении функциональности typeahead.js в то время как textarea отключен, вы можете уничтожить машинописный так:

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

Это сбросит/удалить атрибуты/стили typeahead.js возможно, добавил. Если в дальнейшем вы хотите добавить обратно функциональность typeahead.js, вы можете реинициализировать с:

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

Кроме того, typeahead.js не поддерживает textarea элементы из коробки, так что, если вы с помощью forked version, вы не должны предполагать, что typeahead.js будет работать так, как ожидалось.

+0

Следует отметить, что' .typeahead ('destroy') 'недоступен в Bootstrap версии 2.2. 2. – Eye

+0

Спасибо @ Eye. Я искал какое-то время, когда каждый пост говорит об использовании destroy, но он не работает. Теперь я знаю почему. Кто-нибудь знает альтернативу? – RAC

1

В Bootstrap 2.2.2 отсутствует функция .typeahead('destroy'), поэтому выполняется удаление всех прослушивателей, к которым он был привязан ранее, и созданного им элемента DOM.

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

Я все еще на Bootstrap 2.3.2 и я что если бы я захотел повторно добавить typeahead позже, мне также пришлось удалить объект typeahead, используя '.data ('typeahead', null)' –