蛋糕php ajax在单独的div中刷新两个元素

时间:2012-04-27 10:27:04

标签: ajax cakephp

我有使用3个元素的查看书籍/浏览(这些元素不使用任何requestAction,它们只依赖于books / browse控制器中设置的变量。每个元素都包含在具有此元素id的单独div中。现在我想要一个链接,用3个元素的ajax 2刷新。现在我有这样的东西(这是在书籍/浏览视图中):

echo $this->Js->link('Page 2', array('page' => 2), array('update' => '#element_id'));

在书籍/浏览控制器中我有:

 ...
            $this->set('books', $books);    
            $this->set('author_keywords',$author_keywords);
            $this->set('title_keywords',$title_keywords);
            $this->set('languages',$languages);
            $this->set('language_id',$language_id);
            $this->set('limit',$limit); 
            $this->set('category_id',$category_id);

            if ($this->RequestHandler->isAjax()) 
            {
                 $this->autoRender = false;
                 $this->layout = 'ajax';
                 $this->render('/elements/element1');
            }
            return;

这很好用,div'element_id'中的元素用适当的元素内容刷新/ element1

现在我想在单个请求中更新单独div中的2个元素。所以也许可以选择传递给应该更新的链接2个div - 但是如何使用控制器在这2个div中渲染两个元素?

- 修改

这样做的目的是省略刷新页面上的一个元素,因为它的数据库查询和渲染很慢,而且它没有改变......

- 编辑

好吧我知道怎么做 - 在控制器中我必须渲染两个元素并将这些元素返回的html保存在两个变量中,然后返回ajax数据,就像一些包含那些元素html的变量的数组一样。然后我必须使用JS更新两个div ...但是如何在控制器中执行它?

0 个答案:

没有答案