когда загружен выходной экран и я выбрал страну, в нем не отображаются параметры для поля состояния.
Здесь находится контроллер dynamic_dependent.blade. php
<!DOCTYPE html>
<html>
<head>
<title>Simple LogIn System</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<style type="text/css">
.box{
width: 600px;
margin: 0 auto;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<br>
<div class="container box">
<h3>Ajax Dynamic DropDown</h3><br>
<div class="form-gruop">
<select name="country" id="country" class="form-control input-lg dynamic" data-dependent="state">
<option value="">Select Country</option>
@foreach($country_list as $country)
<option value="{{ $country->country }}">{{ $country->country }}</option>
@endforeach
</select>
</div>
<br>
<div class="form-gruop">
<select name="state" id="state" class="form-control input-lg dynamic" data-dependent="city">
<option value="">Select State</option>
</select>
</div>
<br>
<div class="form-gruop">
<select name="city" id="city" class="form-control input-lg dynamic">
<option value="">Select City</option>
</select>
</div>
<br>
{{ csrf_field() }}
</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
$('.dynamic').change(function(){
if($(this).val() != ''){
var select = $(this).attr("id");
var value = $(this).val();
var dependent = $(this).data(dependent);
var _token = $('input[name="_token"]').val();
$.ajax({
processing : 'true',
serverSide : 'true',
url:"{{ route('dynamicdependent.fetch') }}",
method: "post",
data : {select:select,value:value,_token:_token,dependent:dependent},
success:function(result){
$('#'+dependent).html(result);
}
})
}
});
$('#country').change(function(){
$('#state').val('');
$('#city').val('');
});
$('#state').change(function(){
$('#city').val('');
});
});
</script>
Здесь Просмотр файла DynamicDependent. php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
class DynamicDependent extends Controller
{
function index(){
$country_list = DB::table('country_state_city')
->groupBy('country')
->get('country');
return view('dynamic_dependent')->with('country_list',$country_list);
}
function fetch(Request $request){
$select = $request->get('select');
$value = $request->get('value');
$dependent = $request->get('dependent');
$data = DB::table('country_state_city')
->where($select,$value)
->groupBy($dependent)
->get();
$output = '<option value="">Select '.ucfirst($dependent).'</option>';
foreach ($data as $row) {
$output .= '<option value"'.$row->dependent.'">'.$row->dependent.'</option>';
}
echo $output;
}
}
Web. php файл маршрута
Route::get('/dynamic_dependent','DynamicDependent@index');
Route::post('dynamic_dependent/fetch','DynamicDependent@fetch')->name('dynamicdependent.fetch');
, когда я запускаю это и выбираю страну, консоль показывает
jquery .мин. js: 4 POST http://127.0.0.1: 8000 / dynamic_dependent / fetch 500 (внутренняя ошибка сервера)