Обработчик привязки для формирования события «ajax: success»

0

У меня есть форма, и я использую библиотеку 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 был правильно создан в новом поле после повторной визуализации формы?

Теги:
ruby-on-rails-4

1 ответ

1
Лучший ответ

Почему бы вам не назвать ваш js-скрипт в нижней части вашего файла ajax (js.erb). Таким образом, ваш сценарий будет вызван после вашего действия ajax.

Обновить:

Предположим, что в вашем текстовом поле есть тег id, тогда вы можете сделать что-то вроде этого:

$(document).on("click","#tag",function(){
  $('.suggest-tag').magicSuggest({
    data: ['Paris', 'London']
  });
});
  • 0
    Я думал об этом, но это будет дублирование кода, которого я пытаюсь избежать.
  • 0
    @leemour, если вы хотите связать это с событием «ajax: success», то, боюсь, это правильное место. Вы можете попробовать обработчик событий "live / on" jquery. Это не будет связывать это с ajax: успех, но я думаю, что это должно работать. Проверьте мой обновленный ответ.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню