Не удалось связать загрузочный шрифт twitter для строк, сгенерированных JQuery, с текстовыми полями.

У меня есть таблица с одной строкой, строки имеют текстовое поле в своей первой ячейке и текстовое поле в привязке к twitter bootstrap typeahead в отдельном файле js. Но пользователи могут создавать строки с помощью кнопки «Добавить», и первая строка клонируется для создания дополнительных строк. Теперь я ожидал, что ввод текста будет нормально работать в этих клонированных текстовых полях, но это не так, и в консоли не отображается ошибка. Клонированные текстовые поля имеют тот же идентификатор и имя, что и исходное текстовое поле. Любая идея, почему это может быть? и любые предложения о том, как справиться с этим?


person altsyset    schedule 15.05.2013    source источник
comment
Я нашел эту библиотеку github.com/brandonaaron/livequery/downloads, но был бы очень признателен. если бы я мог решить это, не добавляя еще одну библиотеку в свой проект   -  person altsyset    schedule 15.05.2013
comment
Можете ли вы поделиться частью кода? Как создаются клонированные строки?   -  person Zim    schedule 15.05.2013


Ответы (1)


Я предполагаю, что .typeahead() не запускается для динамически созданных/клонированных строк. Вы можете инициировать событие при добавлении строки и прикрепить тип, используя jquery .on()...

$('#btnAddRow').click(function(){
    var newRow = $('<div class="row"><input type="text" placeholder="Start typing.." class="typeahead" data-items="3"></div>');
    newRow.insertBefore('#addRow');
    $('.typeahead').trigger('added');

});

$('.typeahead').on('added',function(){
    $('.typeahead').typeahead(typeaheadSettings);
});

Вот рабочий пример

person Zim    schedule 15.05.2013