Jquery调用父div来显示加载器

时间:2012-05-24 16:27:23

标签: jquery ajax

我有一系列具有相同类的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; ?>

上述内容当然会在一页中重复多次。

1 个答案:

答案 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();
     });
})