yii CGridView click事件

我在用CGridViewwidgets显示结果的时候我自定义了一个button,我想给button绑定一个js的function,也就是弹出一个窗口化的也页面。(用的cl... 我在用CGridView widgets显示结果的时候 我自定义了一个button,我想给button绑定一个js的function,也就是弹出一个窗口化的也页面。(用的click)
这些都能成,可是我想在调用js的时候查询结果的参数给弹出的页面,然后就各种出错了,下面上代码:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'yin-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
//'id',
array(
'name'=>'wav_number',
'header'=>'音的编号',
),
array(
'header'=>'查看音频',
'class'=>'CButtonColumn',
'headerHtmlOptions'=>array('width'=>'50'),
'htmlOptions' => array('align'=>'center'),
'template'=>'{play}',
'buttons'=>array(
'play'=>array(
'label'=>'播放',
'imageUrl'=>Yii::app()->request->baseUrl.'/images/play.jpg',
'click'=>'function(){noBorderWin("'.Yii::app()->urlManager->createUrl('/yin/play').'","300","200","#000000","#CCCCCC","音频播放","#000000","no");}',
这是能行的,然后我就传递参数,改成下面这样:
'click'=>'function(){noBorderWin("'.Yii::app()->urlManager->createUrl('/yin/play',array('wavpath'=>$data->wav_path)).'","300","200","#000000","#CCCCCC","音频播放","#000000","no");}',
$data应该是传递过来的查询结果的那一行的数据,可是提示我data未定义。。。然后就各种不知道怎么办了,各种求指导!
展开
 我来答
哎踢人材
2012-09-25 · TA获得超过232个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:124万
展开全部
array(
'header' => '查看音频',
//....
'buttons' => array(
'play' => array(
'label' => '播放',
'imageUrl' => Yii::app()->request->baseUrl . '/images/play.jpg',
'url' => 'Yii::app()->createUrl("/yin/play", array("wavpath"=>$data->wav_path))',
'click' => 'noBorderWin(this.src,300,200,"#000000","#CCCCCC","音频播放","#000000","no");return false;',
),
)
);
gridview对$data引用是实时解析的(用eval()来执行),所以要以字符串形式存储(因此要求使用单引号包裹字符串),直接写肯定会报变量未定义。
希望对你有帮助

参考资料: http://www.yiiframework.com/doc/api/1.1/CGridView

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式