DropDownList不会使用ajax来POST值

时间:2013-07-24 19:08:53

标签: yii

我创建了DropDownList,我正在尝试用内容填充div,我知道该怎么做。但问题是我的下拉列表不会POST值。

这是来自view \ index.php的代码

<?php 
echo CHtml::dropDownList('parovi', '', $model->dropDownListParovi(), array
    (
        'class'=>'dropDownListLegloIzaberiPar',
        'empty'=>array('-'=>Yii::t('default', 'PAR_UZGOJNI_DNEVNIK_LEZENJA_IZABERI_PAR')),
        'ajax'=>array
        (
            'type'=>'POST',
            'url'=>Yii::app()->createUrl('/paruzgojni/ajaxIzlistajLegla'),
            'update'=>'#legla',
        ),
    )
);

?>

<div id="legla"></div>

这是来自控制器

public function actionAjaxIzlistajLegla()
{
        echo $_POST['parovi'];
}

此AjaxIzlistaijLegla操作位于accessRules()内。这是有效的当我将echo $_POST['parovi'];替换为echo "Hello";时它会起作用,它会更新我的div。但我不知道为什么它不会从下拉列表中发布该值。

jquery包含在头部。

1 个答案:

答案 0 :(得分:1)

答案是我应该像这样用

包装我的dropDownList和CActiveForm
$this->beginWidget('CActiveForm', array(
    'id'=>'par-uzgojni-ispis-legla-form',
));

echo CHtml::dropDownList('parovi', '', $model->dropDownListParovi(), array
    (
        'class'=>'dropDownListLegloIzaberiPar',
        'empty'=>array('-'=>Yii::t('default', 'PAR_UZGOJNI_DNEVNIK_LEZENJA_IZABERI_PAR')),
        'ajax'=>array
        (
            'type'=>'POST',
            'url'=>Yii::app()->createUrl('/paruzgojni/ajaxIzlistajLegla'),
            'update'=>'#legla',
        ),
    )
);

$this->endWidget();

因为我没有把它包起来,所以它无法将任何数据发送到我的控制器