У меня есть форма, и я использую библиотеку magicsuggest для преобразования текстового поля в поле тега.
Моя форма:
= form_for @question, remote: true do |f|
.form-group
= f.label :tag_list
= f.text_field :tag_list, class: 'suggest-tag'
= f.submit
Мой скрипт:
$('.suggest-tag').magicSuggest({
data: ['Paris', 'London']
});
После отправки формы AJAX я повторно визуализую эту форму из ответа, но поле ввода не преобразуется в поле тега, так как magicsuggest больше не "ассоциируется" с новым полем. Как связать обработчик с событием "ajax: success" или что-то еще, чтобы magicsuggest был правильно создан в новом поле после повторной визуализации формы?
Почему бы вам не назвать ваш js-скрипт в нижней части вашего файла ajax (js.erb). Таким образом, ваш сценарий будет вызван после вашего действия ajax.
Обновить:
Предположим, что в вашем текстовом поле есть тег id, тогда вы можете сделать что-то вроде этого:
$(document).on("click","#tag",function(){
$('.suggest-tag').magicSuggest({
data: ['Paris', 'London']
});
});