J'ai les éléments suivants:
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
qui fait apparaître un Bootstrap Modal pour confirmation, et je voulais accrocher à l'appel ajax pour que je puisse afficher un spinner ou une sorte de texte.
Je sais que je peux utiliser du javascript discret pour écouter l'événement click comme ça, si je N'utilise PAS ': remote => true' dans mon link_to
jQuery ->
$('.link-delete').live 'click', (event) ->
$('.link-delete').html("Loading...") #THE MSG OR ANIMATION I WANT TO DISPLAY
$.get(this.href, null, null, 'script')
false
mais je ne sais pas comment combiner les deux lors de l'utilisation de ': remote => true'
Aucune suggestion?
merci pour l'aide
Vous pouvez vous lier aux appels ajax comme ceci:
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
$('.link-delete').bind('ajax:beforeSend', function() {
$('#mySpinner').show();
});
$('.link-delete').bind('ajax:complete', function() {
$('#mySpinner').hide();
});
Vous n'avez pas besoin de combiner les deux. Utilisez simplement le format.js pour appeler le javascript.
Dans votre contrôleur:
Contrôleur
def my_method
#code here
respond_to do |format|
format.js {}
end
end
my_method.html.erb
<div id = "link-delete"></div>
my_method.js.erb
$("#link-delete").html("<%= escape_javascript(render(:partial => "text_message"))%>");
_ text_message.html.erb
<p>Loading...</p>