@extends('layouts.app')
@section('content')
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
<div class="form-group col-md-8">
<button type="button" class="form-control" data-toggle="modal" data-target="#myModal">
Category </button>
<!-- The Modal -->
<div class="modal" id="myModal">
<div class="modal-dialog modal-lg" >
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<a type="button" class="close" data-dismiss="modal">×</a>
</div>
<div class="modal-body">
<div class="row">
<table class="table table-striped">
<thead>
</thead>
<tbody class="table">
<tr>
<td style="background-color: green">
<div class="col-md-4" >
{{-- <a href="#" name="category" id="category" > --}}
@foreach($categories as $category)
<option class="categoryList" value="{{$category->id}}">{{$category->category}}</option>
@endforeach
{{-- </a> --}}
</div>
</td>
<td>
<div class="col-md-4 ">
<a href="#" name="subcategory" id="subcategory" class="subcategoryList"> </a>
</div>
</td>
<td>
<div class="col-md-4">
<a href="#" name="subcategorytwo" id="subcategorytwo" ></a>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$('.categoryList').on('click', function(){
//alert('hi');
var cat_id = $(this).attr('value');
console.log(cat_id);
var url = "/api/getSubcategory/"+cat_id;
$.ajax({
type: "GET",
url: url,
dataType: "JSON",
success: function(res)
{
// amusing res = {"3":"home","4":"home duplex"};
var html = "";
$.each(res, function (key, value) {
html += "<option value="+key+">"+value+"</option>";
});
$("#subcategory").html(html);
}
});
});
});
$(function(){
$('.subcategoryList').on('click', function(){
//alert('hi');
var subcat_id = $(this).attr('value');
console.log(cat_id);
var url = "/api/getSubcategorytwo/"+subcat_id;
$.ajax({
type: "GET",
url: url,
dataType: "JSON",
success: function(res)
{
var xxyz = "";
$.each(res, function (key, value) {
xyz += "<option value="+key+">"+value+"</option>";
});
$("#subcategorytwo").xyz(xyz);
}
});
});
});
</script>
@endsection
Это мой API
public function getSubcategory($id){
$subcategories = Subcategory::where('category_id',$id)->select('subcategory','id')->pluck('subcategory', 'id');
return json_encode($subcategories);
}
public function getSubcategorytwo($id){
$subcategorytwos = Subcategorytwo::where('subcategory_id',$id)->select('subcategorytwo','id')->pluck('subcategorytwo', 'id');
return json_encode($subcategorytwos);
}
Это маршрут API
Route::get('api/getSubcategory/{id}', 'PostController@getSubcategory' );
Route::get('api/getSubcategorytwo/{id}', 'PostController@getSubcategorytwo' );
Это мой вывод
Проблема в том, что когда я щелкаю по подкатегории открытой категории, но когда я щелкаю по подкатегории, она не открывается, связанная с подкатегорией Это таблица категорий
Это таблица подкатегории
Это две подкатегории таблицы
В чем проблема в ajax, даже если я изменяю переменную html вместо xyz ... Я даю полностью детали.Потому что мой английский очень плохой.Таблица, представление, контроллер, маршрут все определяются, когда я щелкаю по подкатегории открытой категории, но когда я щелкаю по подкатегории, она не открывается, связанная с подкатегорией.