我有一个使用CDetailView的视图页面,
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'id',
'name',
array(
'label'=>'Keyword',
'type'=>'html',
'value'=>getKeywordsHtml($model),
),
)); ?>
函数getKeywordsHtml()在下面的同一文件中定义。
<?php
function getKeywordsHtml($model)
{
$keywordsHtml='';
foreach ($model->keywords as $keyword)
{
$keywordsHtml = $keywordsHtml.
CHtml::link($keyword->name,array('keyword/view', 'id'=>$keyword->id)).
CHtml::link(' [del] ',
array('problem/delkeyword', 'id'=>$model->id, 'kid'=>$keyword->id),
array(
'submit'=>array(
'/problem/delkeyword',
'id'=>$model->id,
'kid'=>$keyword->id
),
'class' => 'delete',
'confirm'=>'Are you sure?'
)
).'<br>';
}
return $keywordsHtml;
}
?>
我希望页面显示旁边带有del链接的关键字。
现在链接正常。它转到/ delkeyword&amp; id = 1,但确认窗口不起作用。所以它的帖子不起作用。
我在详细信息小部件之外尝试了以下代码,它运行正常。
<?php
echo CHtml::link('keyword 1',array('keyword/view','id'=>1)).CHtml::link(' [del] ',array('problem/delkeyword','id'=>1, 'kid'=>1), array('submit'=>array('/problem/delkeyword', 'id'=>1, 'kid'=>1),'class' => 'delete','confirm'=>'Are you sure?')).'<br>';
?>
和html输出
在CDetailview之外工作: [删除] 不能在CDetailview中工作: [del]
那么我应该如何修改我的代码?
答案 0 :(得分:0)
尝试将其放入删除部分
CHtml::link("Delete", '#', array(
'submit'=>array('problem/delkeyword', 'id'=>$model->id, 'kid'=>$keyword->id), 'confirm' => 'Are you sure you want to delete?'));