获得控制器中的下拉值

时间:2014-03-20 12:10:51

标签: php mysql yii

如何将_form page中下拉列表的选定值添加到控制器页面。

_form page

    <?php echo  $form->dropDownList($model,'prd_id',CHtml::listData(Category::model()->findAll(),
'cat_id','category')) ?>

我希望在Categorycontroller页面的下拉列表中获取所选项目的值。

3 个答案:

答案 0 :(得分:0)

尝试

  <?php echo CHtml::activeDropDownList($model,'prd_id',CHtml::listData(Category::model()-  >findAll(),array(
   'prompt'=>'Select',
            'ajax' => array(
            'type'=>'POST',
            'url'=>Categorycontroller::createUrl('action'),
            )
        )); ?>

答案 1 :(得分:0)

听起来你需要AJAX:

如果是依赖性下拉列表,请尝试此

http://www.yiiframework.com/wiki/24/

即使它不是依赖的下拉列表,相同的主体也适用于将选择传递给控制器​​。

echo CHtml::dropDownList('country_id','', array(1=>'USA',2=>'France',3=>'Japan'),
array(
'ajax' => array(
'type'=>'POST', //request type
'url'=>CController::createUrl('currentController/dynamiccities'), //url to call.
//Style: CController::createUrl('currentController/methodToCall')
'update'=>'#city_id', //selector to update
//'data'=>'js:javascript statement' 
//leave out the data key to pass all form values through
))); 

答案 2 :(得分:0)

您可以在控制器中使用它:
首先在$ _POST [MODELNAME]之后使用var_dump 然后使用

$rs = isset($_POST[MODELNAME]['prd_id']) ? $_POST[MODELNAME]['prd_id'] : array();
$value = (!is_array($rs)) ? explode(',', $rs) : $rs;