Yii下拉列表在ivar onclick中保存值

时间:2014-02-16 12:00:01

标签: php yii

如何从yii的dropDownlist中将值保存为ivar?这里我的代码不起作用:/ 伊娃宣言:

public $blaaa;

和我的下拉列表代码:

 echo CHtml::dropDownList(
                'categoryDropDownList',
                '',
                CHtml::listData(Category::model()->findAll(), 'id', 'name'),
                array(
                    'empty' => 'Select Category',
                    'onchange'=>function () {
                            $this->blaaa = 'js:this.value';
                        }
                    ));

我也尝试过ajax,但它也不起作用:

'ajax' => array(
    'type' => 'POST',
    'url' => CController::createUrl('category/actionBla'),
    'data' => array('id' => 'js:this.value')

,其中

public function bla()
{
    if (isset($_POST['id'])) {
         $this->blaaa = $_POST['id'];
}

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

在ajax部分,更改网址如下

'url' => CController::createUrl('category/bla'),

在控制器中,您的函数名称应为

public function actionBla()

答案 1 :(得分:0)

我用回显的CHtml :: dropDownList解决了我的问题:

echo CHtml::form();
    echo CHtml::dropDownList(
        'categoryDropDownList',
        '',
        CHtml::listData(Category::model()->findAll(), 'id', 'name'),
        array(
            'empty' => 'Select Category'
        ));
echo CHtml::endForm();

现在activeForm对通过POST发送参数感到烦恼