ASK::在Yii中使用AJAX将函数结果解析为文本字段


ASK:: Parsing function result to textfield using AJAX in Yii

我有一个下拉列表和一个文本字段。如果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中解析结果,然后处理该对象,并将其属性分配为文本字段的值。希望能有所帮助。