DEPENDENT SELECT BOX空子选择?

时间:2019-11-21 17:35:23

标签: laravel

嗨,大家好,新手!我有2个表CityDepartment,我想做的是,当我在第一个选择输入中选择一个City时,第二个选择输入向我显示每个DepartmentCity中选择。

我的两个表都填充到数据库中,并且我正在像这样检索内部的值

 $dairas = DB::table('daira')->pluck("daira","id");
    $direction = Direction::all();
    $daira = Daira::all();
    return view('direction.index',compact('direction','daira','dairas'));
  

P.S “ daira”是城市,并且正在返回表格中的其他城市

此代码正在从数据库和内部检索Department的值Department tables中有一个城市ID daira_id

    public function getStates($id) {
    $communes = DB::table("commune")->where("daira_id",$id)->pluck("commune","id");

    return json_encode($communes);

}
  

PS的“公社”是部门

这是我的表单代码

<div class="form-group">
    <select name="daira" class="form-control">
        <option value="">--Select Daira--</option>
        @foreach ($dairas as $daira => $value)
        <option value="{{ $daira }}"> {{ $value }}</option>   
        @endforeach
    </select>

</div>
<div class="form-group">
    <select name="commune" class="form-control">
     <option>--commune--</option>
    </select>
</div><div class="col-md-2"><span id="loader"><i class="fa fa-spinner fa-3x fa-spin"></i></span></div>

<div class="form-group">
    <label for="exampleInputEmail1">Intitule :</label>
    <input type="text" class="form-control" name="intitule" required>
</div>

这是我的Js代码

 $(document).ready(function() {

    $('select[name="daira"]').on('change', function(){
        var dairaId = $(this).val();
        if(dairaId) {
            $.ajax({
                url: '/states/get/'+dairaId,
                type:"GET",
                dataType:"json",
                beforeSend: function(){
                    $('#loader').css("visibility", "visible");
                },

                success:function(data) {

                    $('select[name="commune"]').empty();

                    $.each(data, function(key, value){

                        $('select[name="commune"]').append('<option value="'+ key +'">' + value + '</option>');

                    });
                },
                complete: function(){
                    $('#loader').css("visibility", "hidden");
                }
            });
        } else {
            $('select[name="commune"]').empty();
        }

    });

});

这是路线代码

Route::get('states/get/{id}', 'DirectionController@getStates');
Route::resource('/direction','DirectionController');
  

现在,每次我从第一选择输入中选择城市时,第二选择中都找不到部门!我该如何解决?

希望我的问题很清楚,在此先感谢!!

0 个答案:

没有答案