我有一系列具有相同类的div,它来自FOREACH。每个包含一个表单和一个使用jquery的ajax调用。
在确定表单时,我希望加载程序只显示在该div中,但是如果使用下面的示例,它将显示在所有这些中,或者根本不显示。当然我做错了但不确定是什么。我有这个:
$('.form-approve').unbind('submit').submit(function () {
var item = $(this).parent('div');
item.next('.loading').show();
// etc. etc
我确定如何在提交表单的div中显示加载器。有人可以帮忙吗?
该页面包含以下html:
<?php foreach ($this->records as $r):?>
<div class="requests">
// show a name etc.
<div class="log"> // this div is shown using a toggle
<form class="form-approve" etc.>
....
</form>
<div class="loader"></div>
</div>
<? endif; ?>
上述内容当然会在一页中重复多次。
答案 0 :(得分:0)
这应该做的工作:
$('.form-approve').unbind('submit').submit(function () {
$(this).next('div.loader').show();
});
您要显示的div
位于表单本身旁边,因此$(this).next('div.loader')
应该正确定位它 - 无需通过父级检索它
修改。只是为了确保你应该为每个表单都有代码,就像这样
$('.form-approve').each(function() {
$(this).unbind('submit').submit(function () {
$(this).next('div.loader').show();
});
})