【发布时间】:2022-01-02 13:30:06
【问题描述】:
我正在尝试创建一个从属选择菜单,其中选择分区将在另一个选择菜单上显示其下的区域。我为此使用了ajax。我是ajax的新手。选择菜单如下所示。 enter image description here
选择分区后,将启用分区选择菜单。我面临的问题是该地区显示为空。代码正在获取所选部门的 id,但无法根据 id 选择地区。我的数据库有一对多的关系,一个部门有很多地区。我在这里给出代码。 控制器
$data['divisions'] = DB::table('divisions')->get();
return view('Backend.pages.seller.manage_seller_profile',compact('seller_profile','districts','universities','subs','councilors'),$data);
我传递了很多东西,但这部分我只传递数据变量。
jQuery
$(document).ready(function() {
$('#division').change(function() {
var division = $('#division').val();
$('#district').html('');
$.ajax({
url: '/getDistrict/{id}',
type: 'GET',
data: {
myID: division
},
dataType: "json",
success: function(data) {
$('#district').append('<option value="">' + "Select District" + '</option>');
$.each(data, function(key, district) {
$('#district').prop('disabled', false).css('background', '#fff').append('<option value="' + district.id + '">' + district.name + '</option>');
});
},
error: function() {
}
});
});
});
可以正确显示除法变量的数据。但后来发生了什么我不确定。
路线
Route::get('/getDistrict/{id}', 'AddressController@getDistrict');
getDistrict 函数
function getDistrict()
{
$id = $_GET['myID'];
$res = DB::table('divisions')
->join('districts','divisions.id','=','districts.divisions_id')
->where('divisions.id', $id)
->get();
return Response::json($res);
}
感谢任何形式的帮助。我不明白我在哪里搞砸了。
【问题讨论】:
标签: jquery ajax laravel eloquent