Jquery Dependent下拉列表正在使用Laravel中的ajax返回[object]?
我有两个下拉列表城市和城市区域。我想根据选定的城市值填充城市面积下拉列表 路线:Jquery Dependent下拉列表正在使用Laravel中的ajax返回[object]?,jquery,ajax,laravel-5,laravel-5.5,Jquery,Ajax,Laravel 5,Laravel 5.5,我有两个下拉列表城市和城市区域。我想根据选定的城市值填充城市面积下拉列表 路线: Route::get('create-profile', 'ProfileController@index'); Route::get('create-profile/city_area/{id}', 'ProfileController@city_area'); 主要下拉列表为:城市 <div class="col-xs-7 col-md-push-1"> <select name="
Route::get('create-profile', 'ProfileController@index');
Route::get('create-profile/city_area/{id}', 'ProfileController@city_area');
主要下拉列表为:城市
<div class="col-xs-7 col-md-push-1">
<select name="city" id="city">
<option value="">--- Select City ---</option>
@foreach($city as $city)
<option value="{{$city->id}}">{{$city->city_name}}</option>
@endforeach
</select></div>
当您看到[对象对象]时,这是对象到字符串转换的明显标志 city\u area()函数返回对象列表,稍后用JSON编码。因此,用于填充城市区域的变量是Javascript对象,而不是字符串。在本例中,您需要指定要使用的此对象的属性-id和area\u name:
$('select[name="city_area"]').append('<option value="'+ value.id +'">'+ value.area_name +'</option>');
$('select[name=“city\u area”]”)。追加(“”+value.area\u name+“”);
如果我使用的是thing,dependent下拉列表将显示所有行的“未定义”值。您可以粘贴“data”变量包含的内容吗?调用city_area返回的JSON顺便说一句,您不必在city_area中手动编码JSON-Laravel将在选择第一个下拉菜单返回[{“id”:22,“area_name”:“Praha 2”},{“id”:21,“area_name”:“Praha 1”}(无JSON)和[{“id”:22,“area_name”:“Praha 2”},{“id”:21,“area_name”:“Praha 1”}](使用json)在city\u区域
下拉列表中是否只获得一个或多个值?能否在$中控制台.logvalue
。每个
回调?
<script type="text/javascript">
$(document).ready(function() {
$('select[name="city"]').on('change', function() {
var cityID = $(this).val();
if(cityID) {
$.ajax({
url: 'create-profile/city_area/'+cityID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="city_area"]').empty();
$.each(data, function(key, value) {
$('select[name="city_area"]').append('<option value="'+ key +'">'+ value +'</option>');
});
}
});
}else{
$('select[name="city_area"]').empty();
}
});
});
public function city_area($id)
{
$city_area= DB::table('czech_area')->where('citi_id',$id)-
>select('id','area_name')->get();
return json_encode($city_area);
}
$('select[name="city_area"]').append('<option value="'+ value.id +'">'+ value.area_name +'</option>');