如何将_form page
中下拉列表的选定值添加到控制器页面。
_form page
<?php echo $form->dropDownList($model,'prd_id',CHtml::listData(Category::model()->findAll(),
'cat_id','category')) ?>
我希望在Categorycontroller
页面的下拉列表中获取所选项目的值。
答案 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;