Php 如何从下拉列表中获取动态值
当我选择休假类型(如年假)时,我希望所选的年假天数应自动显示在其旁边的框中 这就是我的控制器的样子Php 如何从下拉列表中获取动态值,php,laravel,Php,Laravel,当我选择休假类型(如年假)时,我希望所选的年假天数应自动显示在其旁边的框中 这就是我的控制器的样子 if($request->isMethod('POST')){ $all_leave = new allLeave; $all_leave->employee_id = $user; $all_leave->leave_type = $request->input('leaveType');
if($request->isMethod('POST')){
$all_leave = new allLeave;
$all_leave->employee_id = $user;
$all_leave->leave_type = $request->input('leaveType');
$all_leave->date_from = $request->input('dateFrom');
$leaveDays = leaveType::all()->where('leave_type','=',$all_leave->leave_type)->pluck('leave_days');
$leaveDays = empty($leaveDays[0]) ? 0 : $leaveDays[0];
$newTime = date('d-m-Y', (strtotime($all_leave->date_from.' + '.$leaveDays.' days')));
$newDate = date('Y-m-d', strtotime($newTime));
$all_leave->date_to = $newDate;
$all_leave->description = $request->input('description');
$all_leave->save();
}
global $leaveDays;
$leaveType = leaveType::pluck('leave_type','leave_type');
$allLeave = allLeave::all()->where('employee_id','=',$user);
return view('leave.application', ['leave_t' => $leaveType, 'all_l' => $allLeave, 'leave_D' => $leaveDays]);
$all_leave->leave_type是从数据库中获取的下拉列表,每个下拉列表都有其值。因此,我希望显示每个下拉列表的值,而不必根据所选内容离开页面
$leaveDays是我希望根据下拉列表中选择的内容进行更改的内容
这是我的刀片文件中的内容
<div class="panel-body">
{{ Form::open(array('action' => 'LeavessController@index', 'method' => 'POST'))}}
<div class="form-group row">
{{ Form::label('leave type', 'LEAVE TYPE :',['class' => 'col-sm-3 col-form-label']) }}
<div class="col-sm-8">
{{ Form::select('leaveType',['Select Leave Type'] + $leave_t->all(),'',['class' => 'form-control m-b']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('date from', 'DATE FROM :',['class' => 'col-sm-3 col-form-label']) }}
<div class="col-sm-8">
{{ Form::date('dateFrom', '', ['class' => 'form-control','placeholder' =>'DATE FROM']) }}
</div>
</div>
<div class="form-group row">
{{ Form::label('discription', 'DISCRIPTION :',['class' => 'col-sm-3 col-form-label']) }}
<div class="col-sm-8">
{{ Form::textarea('description', '', ['class' => 'form-control','placeholder' =>'DISCRIPTION', 'row' => '4', 'cols' => '30']) }}
</div>
</div>
<div style="text-align:center;">
{{ Form::submit('APPLY', ['class'=>'btn btn-sm btn-primary m-t-n-xs']) }}
</div>
{{ Form::close() }}
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">LEAVE DAYS</h3>
</div>
<div class="panel-body">
<div class="form-group row">
<div class="col-sm-4"><span style="font-size:80px;">{{$leave_D}}Days</span></div>
</div>
</div>
</div>
</div>
{{Form::open(数组('action'=>)LeavessController@index“,”方法“=>”POST'))}
{{Form::label('leave type','leave type:',['class'=>'col-sm-3 col-Form label'])}
{{Form::select('leaveType',['select Leave Type']+$Leave\u t->all(),'',['class'=>'表单控件m-b'])}
{Form::label('date from','date from:',['class'=>'col-sm-3 col Form label'])}
{Form::date('dateFrom','',['class'=>'表单控件','placeholder'=>'日期FROM'])}
{Form::label('description','description:',['class'=>'col-sm-3 col-Form label'])}
{Form::textarea('description','',['class'=>'Form control','placeholder'=>'description','row'=>'4','cols'=>'30'])}
{Form::submit('APPLY',['class'=>'btn btn sm btn primary m-t-n-xs'])}
{{Form::close()}}
休假日
{{$休假}天
控制器
public function getLeaveDays($leaveType)
{
$days = //query to get count leaveDays;
return response()->json([
'leaveDays' => $days
]);
}
路线
Route::get('/get-leave-days/{leaveType}', 'Controller@getLeaveDays');
脚本
<script>
$(document).ready(function () {
$('select').on('change', function () {
$.ajax({
url: '{{ url('get-leave-days') }}/' + $(this).val(),
method: 'GET',
success: function(res) {
$('.leave-days').text(res.data.days)
}
});
});
});
</script>
$(文档).ready(函数(){
$('select')。在('change',函数(){
$.ajax({
url:{{url('get-leave-days')}/'+$(this.val(),
方法:“GET”,
成功:功能(res){
$('.leave days').text(res.data.days)
}
});
});
});
您也可以发布您的视图吗template@RigelKent我已经发布了我的刀片文件。你到底想得到什么?@RigelKent我已经将图片和更详细的信息添加到picture@RigelKent我希望无论何时从下拉列表中选择休假类型,它都会自动显示“休假天数”值如前所述,此人在不离开页面的情况下选择了休假。是否无法将此联系人与我之前的联系人合并?公共函数getLeaveDays($leaveType){$days=leaveType::all()->其中('leave_type','=','leave_days');返回响应()->json(['leaveDays'=>$days]);]这就是我添加的新控制器。我在获取休假天数时遇到问题,因为我不知道如何使用所选的休假来安排休假日期。我想我应该将它添加到我以前使用的控制器中,这样我就可以使用$LeaveDays,我将使用什么来显示刀片中的天数