【发布时间】:2020-04-10 21:49:26
【问题描述】:
我想使用 JQuery Ajax 获取当前类别的子类别来创建帖子。 它对我不起作用,但是当我像 http://127.0.0.1:8000/back/posts/create/json-subcategories?category_id=1 这样更改浏览器上的 URL 时,它会将所有子类别都放在一个数组中
路线页面:
Route::get('/posts/create', ['uses'=>'Admin\PostController@create','as'=>'post-create', 'middleware'=> 'permission:Post List|All'] );
Route::get('/posts/create/json-subcategories', ['uses'=>'Admin\PostController@subcategories','as'=>'post-create', 'middleware'=> 'permission:Post List|All'] );
后控制器:
public function create()
{
$page_name = 'Create Post';
$categories = Category::where('status',1)->pluck('name','id');
return view('admin.post.create',compact('page_name','categories'));
}
public function subcategories()
{
$category_id = Input::get('category_id');
$subcategories = Subcategory::where('category_id', '=', $category_id)->get();
return response()->json($subcategories);
}
create.blade.php
<div class="form-group">
<label for="">Your Category</label>
<select class="form-control" name="categories" id="categories">
<option value="0" disable="true" selected="true">=== Select Category ===</option>
@foreach ($categories as $key => $value)
<option value="{{$value}}">{{ $value }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="">Your Subcategory</label>
<select class="form-control" name="subcategories" id="subcategories">
<option value="0" disable="true" selected="true">=== Select Subcategory ===</option>
</select>
</div>
<script src="{{asset('js/jquery.js')}}"></script>
<script type="text/javascript">
$('#categories').on('change', function(e){
console.log(e);
var category_id = e.target.value;
$.get('/posts/create/json-subcategories?category_id=' + category_id,function(data) {
console.log(data);
$('#subcategories').empty();
$('#subcategories').append('<option value="0" disable="true" selected="true">=== Select Subcategory ===</option>');
$.each(data, function(index, subcategoriesObj){
$('#subcategories').append('<option value="'+ subcategoriesObj.id +'">'+ subcategoriesObj.name +'</option>');
})
});
});
</script>
【问题讨论】:
标签: jquery ajax laravel laravel-5.8