我是Yii的新手,我不确定我是以正确的方式做事。我试过在Yii论坛或谷歌上搜索,但我找不到答案。
场合
我必须动态地将代码添加到调用Controller中需要单个参数的特定Action的页面。
public function actionAddRow($index)
{
$model = new Users();
$this->renderPartial('_usersBatchRow', array(
'model' => $model,
'i'=>$index,
'countries' => Countries::model()->findAll(),
),false,false);
}
此操作正常,partialTemplate可以满足我的需要。
要调用它,在我使用的主页面中:
echo CHtml::ajaxButton ("Add Something",
CController::createUrl('users/AddRow'),
array(
'method'=>'get',
'data'=>array('index'=>'2'),
'success'=>'function(data){
$("#tableBody").append(data);
}'));
行动结果完美地添加到表格中。 正如你所看到的,我已经硬编码了价值" 2"在参数设置中。
我需要动态检索此值,使用javascript,隐藏字段。
我尝试过这种方法,但它不起作用:
'data'=>array('index'=>"js:$('#hiddenValue').val();"),
hiddenValue更新成功'部分(尚未在上面的代码中),以便下一个将新值传递给操作。
这是一种确切的方法还是我以错误的方式做事?
感谢。
答案 0 :(得分:0)
<强>解决强>
感谢Stu的评论,我改变了解决方案的概念:
首先,我创建了一个不使用任何组件的静态链接:
HNil: HNil
然后,我创建了一个特定的函数,而不是AjaxLink / AjaxButton分泌的函数:
<a href="#" id="addButton" onClick="addRow()">Aggiunti con Link</a>