0

几天前我有一个疑问。我希望能解释清楚,对不起我的英语。

我正在使用 CakePHP,嗯,我有一些控制器有自己的视图,等等。发生的事情是:我的控制器中有两个函数,我想要那个,当我用鼠标点击一个元素时(在这种情况下,谷歌我的视图“ONE”的图表饼图),我想在同一页面中从视图 ONE 执行控制器的其他功能(呈现视图“TWO”)。

我知道如何处理点击饼图,这不是问题。问题是,当我点击它并转到另一个视图二时,如何保持视图一可见。所以我的意思是,我希望最后,页面默认有两个视图,一个和两个,每个在控制器中都有自己的功能,它不是一个简单的视图,比如文本、表格......

我尝试了一些解决方案:requestaction、javascript 的 href、助手......但我没有得到解决方案。

如果您能帮助我,我将不胜感激!有任何问题可以问我,我希望能很好地解释并且你能理解我的英语!

问候!

4

1 回答 1

1

您可以做到这一点的唯一方法是使用您的一个视图制作元素,然后将此元素添加到另一个视图中。您可以使用 . 在视图中简单地添加一个元素$his->element('ElementName');。有关cakephp 中元素的更多信息,请参阅http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Views.html 。

放入$this->element('name');一个 div 并使用 ajax 你可能会调用我猜的函数。所以在控制器函数中写这样的东西:

$this->set('set your variables for the elements here');
$view = new View($this, false);
$content = $view->element('my-element');
json_encode($content);

并在您的 ajax 调用的成功部分中捕获此响应。

success: function (data){
    $("#div_id").html(data);
}

我希望这是有道理的。

于 2013-04-30T12:19:31.937 回答