你也可以使用一个Ajax请求的ID。它更好,如果你想做一些依赖下拉列表。 例如:
echo $form->dropDownList($profile, $field->varname,CHtml::listData(Countries::model()->findAll(),'short','title'), array(
'class'=>"chzn-select",
'empty'=>"Select country",
'ajax' => array(
'type' => 'POST',
'url'=>$this->createUrl('registration/state'),
'update' => '#Profile_state',
'data'=>array('country'=>'js:this.value',),
'success'=> 'function(data) {
$("#Profile_state").empty();
$("#Profile_state").append(data);
$("#Profile_state").trigger("liszt:updated");
} ',
)));
然后在你的控制器,你可以使用POST 例子:
public function actionState()
{
$data=Regions::model()->findAll('country_code=:country_code',
array(':country_code'=> $_POST['country']));
echo "<option value=''>Select state</option>";
$data=CHtml::listData($data,'region_code','region_title');
foreach($data as $value=>$state) {
echo CHtml::tag
('option', array('value'=>$value),CHtml::encode($state),true);
}
}
你要按下提交按钮或只是用户选择它后后打印选择的价值?在一种情况下,因为你在使用php和其他javascript! – darkheir
用户选择它之后。 – 5ome