Yii - Javascript评估作为AjaxButton中的参数

时间:2017-01-12 15:19:36

标签: javascript php yii

我是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更新成功'部分(尚未在上面的代码中),以便下一个将新值传递给操作。

这是一种确切的方法还是我以错误的方式做事?

感谢。

1 个答案:

答案 0 :(得分:0)

<强>解决

感谢Stu的评论,我改变了解决方案的概念:

首先,我创建了一个不使用任何组件的静态链接:

HNil: HNil

然后,我创建了一个特定的函数,而不是AjaxLink / AjaxButton分泌的函数:

<a href="#" id="addButton" onClick="addRow()">Aggiunti con Link</a>