为什么我的下拉列表没有在laravel 5中显示

时间:2017-06-29 08:53:32

标签: php ajax laravel

这是我的playcards-advance(查看页面):

<h5>Country:</h5>
<select class="productcategory put" id="prod_cat_id">

    <option value="0" disabled="true" selected="true">-Select-</option>
    @foreach($prod as $cat)
        <option value="{{$cat->id}}">{{$cat->product_cat_name}}</option>
    @endforeach

</select>
<h5>State:</h5>
<select class="productname put">

    <option value="0" disabled="true" selected="true">Select State</option>
</select>
<h5>City:</h5>
<select class="city put">

    <option value="0" disabled="true" selected="true">Select City</option>
</select>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {

        $(document).on('change', '.productcategory', function () {
            // console.log("hmm its change");

            var cat_id = $(this).val();
            // console.log(cat_id);
            var div = $(this).parent();

            var op = " ";

            $.ajax({
                type: 'get',
                url: '{!!URL::to('findProductName')!!}',
                data: {'id': cat_id},
                success: function (data) {
                    //console.log('success');

                    //console.log(data);

                    //console.log(data.length);
                    op += '<option value="0" selected disabled>Select City</option>';
                    for (var i = 0; i < data.length; i++) {
                        op += '<option value="' + data[i].id + '">' + data[i].productname + '</option>';
                    }

                    div.find('.productname').html(" ");
                    div.find('.productname').append(op);
                },
                error: function () {

                }
            });
        });

        $(document).on('change', '.productname', function () {
            var prod_id = $(this).val();

            var a = $(this).parent();
            console.log(prod_id);
            var op = "";
            $.ajax({
                type: 'get',
                url: '{!!URL::to('findcity')!!}',
                data: {'id': prod_id},
                dataType: 'json',//return data will be json
                success: function (data) {
                    console.log('success');

                    console.log(data);
                    op += '<option value="0" selected disabled>choose city</option>';
                    for (var i = 0; i < data.length; i++) {
                        op += '<option value="' + data[i].id + '">' + data[i].city + '</option>';
                    }

                    a.find('.city').html(" ");
                    a.find('.city').append(op);


                },
                error: function () {

                }
            });


        });

    });
</script>

这是我的路线代码:

Route::get('/playingcards-advance', 'PagesController@prodfunct');
Route::get('/findProductName', 'PagesController@findProductName');
Route::get('/findPrice', 'PagesController@findPrice');
Route::get('/findcity', 'PagesController@findcity');

这是PagesController代码

public function prodfunct()
{
    $prod = ProductCat::all();//get data from table
    return view('playingcards-advance', compact('prod'));//sent data to view

}

public function findProductName(Request $request)
{
    //if our chosen id and products table prod_cat_id col match the get first 100 data 

    //$request->id here is the id of our chosen option id
    $data = Product::select('productname', 'id')->where('prod_cat_id', $request->id)->take(100)->get();

    return response()->json($data);//then sent this data to ajax success
}

public function findcity(Request $request)
{
    //if our chosen id and products table prod_cat_id col match the get first 100 data 

    //$request->id here is the id of our chosen option id
    $q = City::select('city', 'id')->where('state_id', $request->id)->take(100)->get();

    return response()->json($q);//then sent this data to ajax success
}

问题在于我无法显示州和城市但我能够显示国家/地区 我也制作了所有桌子的模型 为什么它不在代码中显示州和城市 当我点击控制台并尝试选择国家/地区为美国时它会发出此错误GET http://localhost/tmcards2/public/findProductName?id=1 500(内部服务器错误)

问题在于我无法显示州和城市但我能够显示国家/地区 我也制作了所有桌子的模型 为什么它不在代码中显示州和城市 当我点击控制台并尝试选择国家/地区为美国时它会给出此错误GET http://localhost/tmcards2/public/findProductName?id=1 500(内部服务器错误) 问题是我无法显示州和城市但我能够显示国家 我也制作了所有桌子的模型 为什么它不在代码中显示州和城市 当我点击控制台并尝试选择国家/地区为美国时它会给出此错误GET http://localhost/tmcards2/public/findProductName?id=1 500(内部服务器错误) 为什么它不在代码中显示州和城市 当我点击控制台并尝试选择国家/地区为美国时它会发出此错误GET http://localhost/tmcards2/public/findProductName?id=1 500(内部服务器错误)

0 个答案:

没有答案