我有一个下拉列表和一个文本字段。如果dropdownlist的值发生了更改,我想在控制器中调用一个操作,并将结果解析为textfield值。我该怎么做?
这是我的看法:
echo TbHtml::dropDownList('isr[setting_merit_demerit_id]', $isr['setting_merit_demerit_id'], $this->getMeritList(),
array('class'=>'span4', // 'onchange' => 'generateNumber();',
'ajax' => array(
'type'=>'POST',
'url'=>CController::createUrl('getMeritDemeritStatus'),
// 'success' =>'js:function(result){$("#tes").val(result).change();}', <--- WHAT SHOULD I PUT HERE?
'data' => array('setting_merit_demerit_id' => 'js:this.value'),
)
)
);
echo TbHtml::textField('isr[show_in_reportcard]',$isr['show_in_reportcard'], array('class'=>'span1', 'id'=>'tes'));
这是我的控制器:
function actionGetMeritDemeritStatus(){
$setting_merit_demerit_id = $_POST['setting_merit_demerit_id'];
$model= SettingMeritDemeritM::model()->findByPk($id);
return $model->status;
}
抱歉我英语不好。。感谢
您的第一个问题是发送AJAX请求并调用一个只返回模型的函数。你需要json_encode返回值,然后回显它。在接收端,你必须在js:success中解析结果,然后处理该对象,并将其属性分配为文本字段的值。希望能有所帮助。