Как сохранить данные в раскрывающемся списке после перезагрузки страницы в laravel 5.7? - PullRequest
1 голос
/ 19 февраля 2020

Я создаю задачу как зависимый выпадающий список, но я хочу, чтобы данные оставались такими же, как и после перезагрузки страницы. Я успешно справился с этой задачей для первого раскрывающегося списка, но я не совсем понимаю, как мне сохранить данные для второго раскрывающегося списка. Plz нужна помощь. Я помещаю значение в сессию и проверяю значение параметра, но я запутался во втором значении параметра: как я могу проверить значение сеанса в javascript значении параметра.

Blade:

<?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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...