监听$form->select('department_id')表单项,动态获取数值填入 $form->text('department_nums')失败
代码 1#
$form->select('department_id')->options(\App\Models\Department::pluck('name', 'id'))->required()->rules([$unique_rule]);
$form->text('department_nums')->required()->rules([$unique_rule]);
代码 2#
public function getHeadcount(Request $request)
{
$id = $request->input('id');
$department = Department::find($id);
if (!$department) {
return response()->json([
'code' => 1,
'msg' => 'department does not exit',
]);
}
return response()->json([
'code' => 0,
'data' => [
'headcount' => $department->headcount,
],
]);
}
代码 3#
<script>
$('#department_id').on('change',function(e){
$.ajax({
method: "get",
url: "/get_headcount?id="+e.target.value,
success: function (data) {
if (data.code === 0) {
$('#department_nums').val(data.data.headcount);
} else {
alert(data.msg);
}
},
error: function () {
alert('获取部门人数失败');
}
});
});
</script>
要监听选择表单 select (‘department_id’),动态获取 department 的 headcount 字段值,回填到 text (‘department_nums’),但不成功,尝试过调整 script 代码的位置,也修改成下面这种#
$form->script = <<<EOT
$('#department_id').on('change',function(e){
$.ajax({
method: "get",
url: "/get_headcount?id="+e.target.value,
success: function (data) {
if (data.code === 0) {
$('#department_nums').val(data.data.headcount);
} else {
alert(data.msg);
}
},
error: function () {
alert('获取部门信息失败');
}
});
});
EOT;
推荐文章: