在 laravel 中发生下拉变化时显示数据

show data when dropdown change occurs in laravel

我在数据库中有一个数据,其中有 2 个 table 称为注册,问题我需要显示注册 table 数据基于问题 question_schedul(视为状态)=1 或2,在我的索引页面中有一个下拉列表包含 24 小时和 15 天它与 question_schedul(status) 相关。当我 select 24 小时我需要显示对应于 [= 的数据19=]编辑状态

Javascript code for dropdown
  $(function () {

        $("#dropselect").change(function () {
            let $value;
            if ($(this).val() === "24Hours") {
                $value = $(this).val();
                $.ajax({
                    type: 'GET',
                    url: '{{\Illuminate\Support\Facades\URL::to('tracks24or15')}}',
                    data: {'dropselect': $value},
                    success: function (data) {
                        $('#listdetails').html(data);
                        // console.log(data);
                    }
                });

            }
            else {
                if ($(this).val() === "15Days") {
                    $value = $(this).val();
                    $.ajax({
                        type: 'GET',
                        url: '{{\Illuminate\Support\Facades\URL::to('tracks24or15')}}',
                        data: {'dropselect': $value},
                        success: function (data) {
                            $('#listdetails').html(data);
                            // console.log(data);
                        });
                    }
                else
                    {
                        alert('Select Status');
                    }

                    });
            });


Index Page
<div class="content-page">
    <!-- Start content -->
    <div class="content">
        <div class="container-fluid">

            <div class="row">
                <div class="col-12">
                    <div class="page-title-box">
                        <h4 class="page-title float-left">SSI TRACK</h4>
                        <div class="clearfix"></div>
                    </div>
                </div>
            </div>
            <!-- end row -->
            <div class="row">
                <div class="col-12">
                    <div class="card-box table-responsive">
                        <h4 class="m-t-0 header-title"><b>SSI TRACKS</b></h4>

                        <div id="datatable_wrapper" class="dataTables_wrapper container-fluid dt-bootstrap4 no-footer">
                            <div class="row">


                                <div class="col-sm-6">

                                    <select class="form-control" style="width: 150px" id="dropselect" name="dropselect">

                                        <option>Select Status</option>
                                        <option value="24Hours">24 Hours</option>
                                        <option value="15Days">15 Days</option>
                                        {{--<option value="3">All</option>--}}

                                    </select>

                                </div>


                            </div>


                            <div class="row">
                                <div class="col-sm-12">
                                    <table id="datatable" class="table table-bordered dataTable table-responsive-lg">
                                        <thead>
                                        <tr>
                                            <th>slno</th>
                                            <th>Address</th>
                                            <th>Model</th>
                                            <th>Chassis</th>
                                            <th>Delivery Date</th>
                                            <th>Call</th>

                                        </tr>
                                        </thead>
                                        <tbody id="listdetails">
                                        @foreach($registeration as $registerations)
                                            <tr>
                                                <td class="sorting_1">{{$loop->iteration}}</td>
                                                <td>{{$registerations->address}}</td>
                                                <td>{{$registerations->model}}</td>
                                                <td>{{$registerations->chassis}}</td>
                                                <td>{{$registerations->delivery_date}}</td>

                                                <td>
                                                    <button class="btn btn-primary btn-rounded button">Call Customer
                                                    </button>
                                                </td>
                                            </tr>
                                        @endforeach
                                        </tbody>
                                    </table>
                                </div>
                            </div>

                        </div>
                    </div>
                </div>
            </div>


        </div>
    </div>
</div>
</div>

我的控制器有功能

 public function tracks24or15(Request $request)
    {


        $register = DB::table('registrations')
            ->join('questions', 'registrations.registration_id', '=', 'questions.question_id')
            ->select('address', 'model', 'chassis', 'delivery_date')
            ->where([["questions.question_schedul", "=", 1] || ["questions.question_schedul", "=", 2] ])
            ->get();
        $output = "";
        $count = 1;
        foreach ($register as $key => $reg) {

            $output .= '<tr>' .
                '<td>' . $count++ . '</td>' .
                '<td>' . $reg->address . '</td>' .
                '<td>' . $reg->model . '</td>' .
                '<td>' . $reg->chassis . '</td>' .
                '<td>' . $reg->delivery_date . '</td>' .
                '<td>' . '<button>Callback</button>'. '</td>' .
//                '<td>' . '.<a href="' . route('ssitrack') . '">.' . '<img src="assets/images/select.jpg" class="imgsize">.' . '</a>.' . '</td>' .
                '</tr>';

        }
        return Response($output);
    }

尝试更改您的 js

改变url

url:{{url("tracks24or15")}}

在 ajax 调用中添加数据类型 数据类型:'json',

由于你的两个 ajax 调用相同,我合并为一个

Javascript 下拉代码

$(function () {
        $("#dropselect").change(function () {
            let $value;
            if (($(this).val() === "24Hours") || ($(this).val() === "15Days")) {
                $value = $(this).val();
                $.ajax({
                    type: 'GET',
                    url: {{url("tracks24or15")}},
                    data: {'dropselect': $value},
                    dataType: 'json',
                    success: function (data) {
                        $('#listdetails').html(data);
                        // console.log(data);
                    }
                });

            }
            else
            {
                alert('Select Status');
            }
        });
    });