依赖动态 Select 菜单,第二个菜单未获取数据
Dependent dynamic Select menu, The second menu is not getting data
我正在尝试创建一个从属 select 菜单,其中 select 分区将在另一个 select 菜单上显示其下的分区。我为此使用了 ajax 。我是 ajax 的新手。 select 菜单如下所示。
enter image description here
select分区后,将启用分区 select 菜单。我面临的问题是该地区显示为空。该代码正在获取 selected 部门的 ID,但它不能 select 该地区取决于该 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);
}
感谢您提供的任何帮助。我不明白我哪里搞砸了。
我可以给你一个工作示例
blade
第一select
<select class="select_option" name="category" id="category">
<option value="">All Categories</option>
<option value="source">Lead Source </option>
<option value="group">Group</option>
<option value="agent" >Agent</option>
<option value="status">Status</option>
</select>
秒select
<select class="form-control" name="selectedValue"id="selected-value">
</select>
ajax
<script type="text/javascript">
$("#category").change(function() {
$.ajax({
url: "{{ url('/category-data') }}?category=" + $(this).val(),
method: 'GET',
success: function(data) {
$('#selected-value').html(data.html);
}
});
});
</script>
路线
Route::get('/category-data','User\LeadController@categoryData');
控制器
public function categoryData(Request $request)
{
$id = $request->category; // call the name you are passing instead fo category
$html = '';
if ($id) {
$res = DB::table('divisions')
->join('districts','divisions.id','=','districts.divisions_id')
->where('divisions.id', $id)
->get();
foreach ($res as $re) {
$html .= '<option value="' . $re->id . '">' . $re->name . '</option>';
}
} else {
$html = '<option value="">Select </option>';
}
return response()->json(['html' => $html]);
}
我正在尝试创建一个从属 select 菜单,其中 select 分区将在另一个 select 菜单上显示其下的分区。我为此使用了 ajax 。我是 ajax 的新手。 select 菜单如下所示。 enter image description here
select分区后,将启用分区 select 菜单。我面临的问题是该地区显示为空。该代码正在获取 selected 部门的 ID,但它不能 select 该地区取决于该 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);
}
感谢您提供的任何帮助。我不明白我哪里搞砸了。
我可以给你一个工作示例
blade
第一select
<select class="select_option" name="category" id="category">
<option value="">All Categories</option>
<option value="source">Lead Source </option>
<option value="group">Group</option>
<option value="agent" >Agent</option>
<option value="status">Status</option>
</select>
秒select
<select class="form-control" name="selectedValue"id="selected-value">
</select>
ajax
<script type="text/javascript">
$("#category").change(function() {
$.ajax({
url: "{{ url('/category-data') }}?category=" + $(this).val(),
method: 'GET',
success: function(data) {
$('#selected-value').html(data.html);
}
});
});
</script>
路线
Route::get('/category-data','User\LeadController@categoryData');
控制器
public function categoryData(Request $request)
{
$id = $request->category; // call the name you are passing instead fo category
$html = '';
if ($id) {
$res = DB::table('divisions')
->join('districts','divisions.id','=','districts.divisions_id')
->where('divisions.id', $id)
->get();
foreach ($res as $re) {
$html .= '<option value="' . $re->id . '">' . $re->name . '</option>';
}
} else {
$html = '<option value="">Select </option>';
}
return response()->json(['html' => $html]);
}