0

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

这是来自 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 包含在 head 中。

4

1 回答 1

1

答案是我应该像这样用 CActiveForm 包装我的 dropDownList

$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();

因为我没有包装它,所以它无法将任何数据发布到我的控制器

于 2013-07-24T19:43:46.610 回答