0

我有一系列来自 FOREACH 的具有相同类的 div。每个都包含一个表单和一个使用 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; ?>

以上当然是在一个页面中重复了很多次。

4

1 回答 1

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();
     });
}) 
于 2012-05-24T16:37:54.107 回答