动态加载页面并隐藏网格?

时间:2013-10-01 15:35:24

标签: atk4

我的页面中有一个网格,并且有一个详细信息按钮:

$grid->addColumn('button','tid','Details');

我希望在单击详细信息按钮后,网格将被隐藏,另一个视图将通过AJAX ...

加载

有可能吗?

祝你好运

1 个答案:

答案 0 :(得分:0)

捕获点击

如您所知,ATK Grid中的按钮默认执行ajaxec()请求。他们向PHP端发送额外请求,然后通过jQuery_Chain-> execute发送必要的javascript指令。

您还可以通过此处说明的技术立即捕获点击:http://agiletoolkit.org/codepad/gui/grid

您可能还需要知道js()可以接受jQuery链的第二个参数数组。

有关链条的更多内容:http://agiletoolkit.org/learn/understand/chains

在视图

中加载信息

您可以通过两种方式完成此操作。第一种 - 经典方法,需要使用选择器并手动加载数据:

$b->js('click')->atk4_loader('loadURL',
    array($this->api->url(),'cut_object'=>$b->name,'arg'=>$field->js()->val()));

另一种方法是简单地添加一个空白视图,然后有条件地加载其中的内容:

$v=$this->add('View');
if($_GET['details']) {
    $v->add('View_ModelDetails')->setModel('User')->load($_GET['details']);
}

然后使用

$v->js()->reload(array(
    'details'=>$this->js()
         ->_selectorThis()   // targets clicked button
         ->closest('tr')
         ->data('id')        // passes ID of the argument
))

此处进一步详细说明:http://agiletoolkit.org/codepad/interaction/reloading

步骤很少,你需要将它们组合在一起。以下是您可能适应的另一个较旧的示例:

http://demo39.agiletoolkit.org/demo.html?t=22