我有一个下拉列表和一个文本字段。 如果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'));
&#13;
这是我的控制器:
function actionGetMeritDemeritStatus(){
$setting_merit_demerit_id = $_POST['setting_merit_demerit_id'];
$model= SettingMeritDemeritM::model()->findByPk($id);
return $model->status;
}
&#13;
抱歉我的英文不好..谢谢
答案 0 :(得分:0)
您的第一个问题是您正在发送AJAX请求并调用仅返回模型的函数。你必须json_encode返回值,然后回显它。在接收端,您必须在js:success中解析结果,然后使用该对象并将其属性指定为文本字段的值。 希望它有所帮助。