У меня есть спиннер, который отображается при выполнении запроса ajax с использованием jquery:
$(document).bind("ajaxStart", function() {
$('#myloader').show();
});
$(document).bind("ajaxStop", function() {
$('#myloader').delay(1000).fadeOut('fast');
});
В этом случае запрос фактически сделан для keyup, я пытаюсь выяснить, как использовать этот счетчик на нескольких полях, чтобы счетчик отображался рядом с каждым полем.
Размещение изображения с вращением не проблема, но соединение изображения с каждым полем - это то, что я нахожу трудным. Если это имеет смысл?
- ОБНОВЛЕНИЕ -
Ответы очень полезны, но я не думаю, что это то, что я ищу.
У меня есть следующий код:
<div class="form_element">
<%= f.label :email, :class=>"field_hint", :title=>"Email" %>
<%= f.text_field :email %>
<div class="myloader" style="display:none;">
<p>
validating...
</p>
</div>
</div>
<div class="form_element">
<%= f.label :username, :class=>"field_hint", :title=>"Username" %>
<%= f.text_field :username %>
<div class="myloader" style="display:none;">
<p>
validating...
</p>
</div>
</div>
Оба эти поля имеют keyup, который выполняет удаленный вызов. Я немного изменил код:
$('.form_element').ajaxStart(function() {
$(this).children('.myloader').show();
});
$('.form_element').ajaxStop(function() {
$(this).children('.myloader').delay(1000).fadeOut('fast');
});
В тот момент, когда происходит ajax, появляются оба счетчика, я пытаюсь выяснить, как сделать каждый счетчик div соответствующим его полю.
Я новичок в Ajax, поэтому любые рекомендации относительно того, как иначе можно выполнить ajaxStart / Stop, приветствуются.