php – Yii2:根据相关表中的另一个字段自动填充字段
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Yii2:根据相关表中的另一个字段自动填充字段,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2458字,纯文字阅读大概需要4分钟。
内容图文
我有一个MySQL表和模型patient_entry,其中包含字段patient_name,city和state.我还有另一个表/模型health_card,其中还包含patient_name,city和state.
假设patient_entry表已经填充了patient_name,city和state.
当我以health_card格式输入数据时,当我通过与patient_entry表相关的下拉字段选择patient_name时,我希望自动填充相关的城市和州字段.
我的_form.php for health_card看起来像这样:
<head>
<script>
$this->registerJs("$('#healthcard-patient_name').on('change',function(){
$.ajax({
url: '".yii\helpers\Url::toRoute("HealthCard/patient")."',
dataType: 'json',
method: 'GET',
data: {id: $(this).val()},
success: function (data, textStatus, jqXHR) {
$('#healthcard-city').val(data.city);
$('#healthcard-pincode').val(data.pin);
},
beforeSend: function (xhr) {
alert('loading!');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log('An error occured!');
alert('Error in ajax request');
}
});
});");
</script>
</head>
在控制器中,我根据建议添加了:
public function actionPatient($id){
// you may need to check whether the entered ID is valid or not
$model= \app\models\PatientEntry::findOne(['id'=>$id]);
return \yii\helpers\Json::encode([
'city'=>$model->disrict_city,
'pin'=>$model->pin_code
]);
}
解决方法:
您所需要的只是调用AJAX请求来获取所需的字段.就像下面这样:
>(我不知道您的型号名称)查看您的表单,看看您的patient_name字段的id是多少.它通常是modelname-fieldname.我假设您的型号名称是患者.因此,patient_name的id将是patient-patient_name.
>添加ajax请求(在您的视图中).
调用AJAX的代码如下所示:
$this->registerJs("$('#patient-patient_name').on('change',function(){
$.ajax({
url: '".yii\helpers\Url::toRoute("controllerName/patient")."',
dataType: 'json',
method: 'GET',
data: {id: $(this).val()},
success: function (data, textStatus, jqXHR) {
$('#patient-city').val(data.city);
$('#patient-state').val(data.state);
},
beforeSend: function (xhr) {
alert('loading!');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log('An error occured!');
alert('Error in ajax request');
}
});
});");
笔记:
>使用您自己的代码更改上述代码中的ControllerName.
>我假设城市和州的字段ID具有以下ID:患者 – 城市和州 – 城市相对.
>患者是您控制器中的一个动作
>您可能需要删除警报日志并对上述代码进行一些自定义
>我没有考虑代码清理的任何条件.请确保用户数据正确无误.
>最后,将操作代码添加到控制器中.
行动代码:
public function actionPatient($id){
// you may need to check whether the entered ID is valid or not
$model= \app\models\Patient::findOne(['id'=>$id]);
return \yii\helpers\Json::encode([
'city'=>$model->city,
'state'=>$model->state
]);
}
内容总结
以上是互联网集市为您收集整理的php – Yii2:根据相关表中的另一个字段自动填充字段全部内容,希望文章能够帮你解决php – Yii2:根据相关表中的另一个字段自动填充字段所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。