Javascript Yii-YiiBooster GridView小部件在给定id时会弄乱部分页面
我有一个具有父子视图布局的视图。在父视图中,我有一个来自YiBooster扩展的GridView,其中列出了数据库中的所有人员:Javascript Yii-YiiBooster GridView小部件在给定id时会弄乱部分页面,javascript,php,gridview,yii,yii-booster,Javascript,Php,Gridview,Yii,Yii Booster,我有一个具有父子视图布局的视图。在父视图中,我有一个来自YiBooster扩展的GridView,其中列出了数据库中的所有人员: $this->widget('bootstrap.widgets.TbGridView', array( 'dataProvider' => $model->search(), 'filter' => $model, 'ajaxUpdate' => true, 'select
$this->widget('bootstrap.widgets.TbGridView', array(
'dataProvider' => $model->search(),
'filter' => $model,
'ajaxUpdate' => true,
'selectionChanged' => "updateChild", // new code
'columns' => array(
'firstName', 'lastName'
)
));
它没有id,默认情况下会分配一个id,即yw0
selectionChanged上调用的updateChild js方法获取一个人的所有信息,并使用$'childView'.htmldata使用该信息更新子视图。如果给父GridView一个显式ID,如下所示:
$this->widget('bootstrap.widgets.TbGridView', array(
'id' => 'parentGrid' // explicit id
'dataProvider' => $model->search(),
'filter' => $model,
'ajaxUpdate' => true,
'selectionChanged' => "updateChild", // new code
'columns' => array(
'firstName', 'lastName'
)
));
子视图不会使用相关数据更新。我查看了源代码,控制器中的函数运行良好,并将所有相关数据传回,这是一个渲染问题,他们拒绝显示
此外,如果我的子视图中有另一个GridView,例如列出一个人所属的各种不同类别,那么当我尝试单击一个人时,会出现以下错误:
无法读取未定义的属性tableClass
我的子视图是局部视图,因此使用renderPartial。我允许它加载更多的脚本,因为我的子视图有js监听器,用于子视图中各种元素的点击事件
有人知道发生了什么事吗?谢谢
编辑:我现在可以使用显式ID了,我从另一个问题得到了答案。但是,无法读取未定义问题的属性tableClass仍然存在。似乎当我想通过renderPartial将GridView放入子视图时,会弄乱父视图中的GridView。检查加载bootstrap.js文件时是否存在冲突。因为我们以前写的是“booster.widgets.TbGridView”而不是“bootstrap.widgets.TbGridView”。因此,也许您正在加载两个引导libsHi,您可以使用css类而不是id属性吗?