Jquery жить не стреляя по успеху - PullRequest
3 голосов
/ 01 марта 2012

У меня проблемы с JQuery Live, стреляя по успеху AJAX. Вот моя функция link_to.

<%= link_to image_tag("cross.png"), patient_recurrence_detail_path(params[:id],f.object.id), :remote => true, :class => 'delete_recurrence_detail', :method => :delete, :confirm=>'Are you sure you?' %>

Метод, который он вызывает, это

def destroy
  @recurrence_detail = RecurrenceDetail.find(params[:id])
  @recurrence_detail.destroy
  respond_to do |format|
    format.html { redirect_to patient_path(params[:patient_id]) }
    format.js { render :nothing => true }
  end
end

Наконец, к созданной ссылке добавлена ​​живая функция jquery. (Я использовал .bind () здесь безрезультатно)

$('a[data-method="delete"]').live("ajax:success", function(data, textStatus, jqXHR){
   $(this).parents('div.fields').remove();
});

Я замечаю в своем сетевом трафике, что я получаю состояние OK для удаления ранее, поэтому я немного озадачен тем, почему функция live не вызывается. Примечание: я также пытался использовать .bind (). У меня есть драгоценный камень jquery-rails.

Обновление: я пытался использовать .ajaxSuccess () и обновил свой драгоценный камень, но все еще безуспешно. Нужно ли что-то добавить в мой response_to для ajax?

Ответы [ 2 ]

1 голос
/ 01 марта 2012

минималистичный ответ, я знаю, но, возможно, попробуйте более актуальный api.jquery.com / on ?

изменить: я думаю, что камень только что столкнулся с jquery 1.7.1 около месяца назад ...

0 голосов
/ 01 марта 2012

До сих пор я не знал, что это вообще возможно! Затем из docs я узнал, что события Ajax транслируются на все элементы DOM.

Согласно документации, вы должны быть привязаны к ajaxSuccess, а не к "ajax: success".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...