我需要创建一个CGridView一个按钮,使按钮调用这样的javascript函数:Yii的CGridView按钮 - 呼叫参数化的javascript函数
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'projectCities',
'summaryText' => '',
'dataProvider' => $model->getCitiesProvider(),
'columns' => array(
'name',
'directional',
'customCount',
array(
'class'=>'CButtonColumn',
'template'=>'{delete}',
'buttons' => array(
'delete' => array(
'url' => '',
'click' => '',
'options' => array(
'onclick' => 'removeCity(this, $data->idCity,
$model->idProject); return false;',
),
)
),
)
),
));
Ofcourse它不工作,因为生成的HTML是:
<a class="delete" title="Delete" onclick="removeCity(this, $data->idCity, $model->idProject); return false;">
有没有办法做到这一点,所以在javascript函数调用中会有正确的id?
无法定义'“数据城市-ID” => $数据 - > idCity' - 它会告诉你错误'未定义的变量:data' – Joe 2013-03-25 12:56:46
看看更新。 – cetver 2013-03-25 13:30:03
好的工作。我想这很接近。我遇到了'$ model-> idProject'的问题。我想这是因为城市和项目表与“多对多”关系有关。所以我得到的财产“Cities.idProject”没有定义。我试图使用ORM访问表:'$ model-> projects-> idProject',但我得到'试图获取非对象的属性'错误。这很奇怪 - 如果没有项目分配给城市 - 它不会出现。 – Joe 2013-03-25 13:59:17