【问题标题】:dynamic dropdown list in laravellaravel 中的动态下拉列表
【发布时间】:2020-04-13 12:50:35
【问题描述】:

我在表单中使用动态下拉列表 我想根据选择的城市选择区域
这是我的看法

 <div class="form-group col-md-6 form-group{{ $errors->has('city') ? ' has-error' : '' }}">
    <label for="inputPassword4" style="padding-left:35em"><span style="color:red">*</span> city</label>
    <select id="city" name="city" class="form-control">
        <option ></option>
        @foreach($cities as $city)
         <option value="{{$city->id}}">{{$city->city}}</option>
        @endforeach
    </select>
    <h6 class="text-danger">{{ $errors->first('city') }}</h6>
    </div>
</div>

    <div class="form-group col-md-6 form-group{{ $errors->has('area') ? ' has-error' : '' }}">
    <label for="inputEmail4" style="padding-left:50em">area</label>
    <select id="area" name="area" class="form-control">
        <option></option>
    </select>
    <h6 class="text-danger">{{ $errors->first('area') }}</h6>
    </div>

这是脚本

    $('#city').on('change',function(e){

            console.log(e);

        var city= e.target.value;

        $.get('/areas/'+ city, function (data){

              //console.log(data);
            $('#area').empty();

            $.each(data,function(i,area){

            $('#area').append('<option value ="'+area+'">'+area+'</option>');

            });
        });
    });
</script>e

控制器

 public function areas($id)
{

    $area = area::where('city_id', $id)->pluck("area","id");

    return Response::json($area);
}

路线:

Route::get('/areas/{id}', 'locationController@areas');

我使用了这个代码,但它不起作用!

【问题讨论】:

  • var city= e.target.value;警告这意味着调试这个你得到的值是什么?

标签: ajax laravel


【解决方案1】:

return response()-&gt;json($cities);代替return Response::json($area);

您的控制器将是:

public function areas($id)
{

    $area = area::where('city_id', $id)->pluck("area","id");

    return response()->json($area);
}

【讨论】:

  • 你能从 web.php 显示你的路线吗?你得到什么回应?你能从你的 Inspect -> Network (对于 chrome) 进行检查吗
  • 我添加了问题代码的路线。我应该在网络中看到什么作为响应?
  • 当我在 URL 中调用 rout area/id 时,它会完美地返回这些区域。
  • 如果您在脚本中取消注释 console.log(data);。你得到了什么?
  • web.php:Route::get('/areas/{id?}', 'locationController@areas')-&gt;name('areas'); 脚本:$.get('{{route('areas')}}/'+ city, function (data){
猜你喜欢
  • 2016-08-25
  • 2020-06-29
  • 2016-07-01
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 2018-09-05
  • 2012-11-13
相关资源
最近更新 更多