laravel - 在 laravel 5.7 中重新加载页面后如何将数据保留在下拉列表中?
问题描述
我正在创建类似依赖下拉列表的任务,但我想在重新加载页面后保持数据不变。我成功地完成了第一个下拉列表的任务,但我很困惑如何为第二个下拉列表保留数据,请需要帮助。我在会话中输入值并检查选项值,但我对第二个选项值感到困惑,我如何检查 javascript 选项值中的会话值。
刀 :
<?php $reason_id=Session::get('reason_id');?>
<div class="row">
<div class="col-lg-4">
<span><label><b>Reason for return</b></label></span>
</div>
<div class="col-lg-8 mt-1">
<div class="form-group">
<select class="form-control" id="reason" name="reason">
<option readonly>Select reason</option>
@foreach($reason as $id => $p_reason)
<option value="{{ $id }}" @if($reason_id==$id) selected="selected"@endif>{{$p_reason}}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<span><label><b>Reason Details</b></label></span>
</div>
<div class="col-lg-8 mt-1">
<div class="form-group">
<select class="form-control" id="reason_detail" name="reason_detail">
</select>
</div>
</div>
</div>
javascript:
$(document).ready(function(){
$('#reason').change(function(){
var ID = $(this).val();
if(ID){
$.ajax({
type:"GET",
url:"{{url('get-reason-details')}}?reason_id="+ID,
success:function(res){
if(res){
$("#reason_detail").empty();
$("#reason_detail").append('<option>Select Reason Detail</option>');
$.each(res,function(key,value){
$("#reason_detail").append('<option value="'+key+'">'+value+'</option>');
});
}else{
$("#reason_detail").empty();
}
}
});
}else{
$("#reason_detail").empty();
}
});
控制器:
public function set_session(Request $req)
{
$data=$req->all();
Session::put('reason_id',$data['reason']);
Session::put('reason_detail_id',$data['reason_detail']);
$data=DB::table('product_details')->select('product_details.*')->where('product_id',$data['product_id'])->first();
$reason=DB::table('reason')->pluck('description','reason_id');
return view('returnproduct',['reason'=>$reason],['data'=>$data->product_id]);
}
public function get_reason($id)
{
$data=DB::table('product_details')->select('product_details.*')->where('product_id',$id)->first();
$reason=DB::table('reason')->pluck('description','reason_id');
return view('returnproduct',['reason'=>$reason],['data'=>$data->product_id]);
}
public function get_reason_details(Request $req)
{
$reason_detail_id=Session::get('reason_detail_id');
$reason_details = DB::table("reason_details")
->where("reason_id",$req->reason_id)
->pluck("reason_detail","reason_detail_id");
return response()->json($reason_details);
}
解决方案
推荐阅读
- state - React Typescript 传递状态
- mongodb - 如何根据mongodb中两个集合中的公共列更新列中的数据
- python - 在 PDF 中搜索/更新图形
- react-native - Instagram 或 Facebook 在列表页面上使用什么?
- python - 我在 python [os.system] 中标记 (") 时遇到问题
- elasticsearch - 如何设计一个查询速度非常快的搜索引擎?
- javascript - 在 wordpress 上切换 css 伪元素
- angular - 以角度路由时丢失url
- javascript - 找不到模块“bootstrap/dist/js/bootstrap”的声明文件
- android - 无法从颤振插件文件夹中删除库