Ciao a tutti,
mi sono piantato su un problema piuttosto ostico con Laravel 5. In un form ho 3 select box che devono essere popolate in modo concatenato. Ora, singolarmente non ho alcun problema a fare il popolamento, ma il problema è la concatenzazione vera e propria che deve essere fatta con ajax richiamando le funzioni correte dalle route.
FIn'ora ho preparato questo codice:
questo è quanto ho scritto nelle route
ma non c'è verso di concatenare ste benedette select. Qualcuno mi sa indicare dove stò sbagliando?
Grazie
mi sono piantato su un problema piuttosto ostico con Laravel 5. In un form ho 3 select box che devono essere popolate in modo concatenato. Ora, singolarmente non ho alcun problema a fare il popolamento, ma il problema è la concatenzazione vera e propria che deve essere fatta con ajax richiamando le funzioni correte dalle route.
FIn'ora ho preparato questo codice:
PHP:
#view
<div class="row form-group">
<div class="col-md-6">
<label for="Regione">Regione</label>
<select name="regions" class="form-control" id="regions">
<option value="0" selected>Seleziona una Regione</option>
@foreach($regions as $region)
<option value="{{$region->id}}">{{$region->nome_regione}}</option>
@endforeach
</select>
</div>
<div class="col-md-6">
<label for="Provincia">Provincia</label>
<select name="provinces" class="form-control" id="provinces">
<option value="" selected>Seleziona la provincia</option>
</select>
</div>
</div>
#ajax
<script type="application/javascript">
jQuery(document).ready(function($)
{
$('#regions').change(function()
{
$.get("{{ url('Province2Region')}}",
{ option: $(this).val() },
function(data) {
var province = $('#province');
province.empty();
$.each(data, function(index, element)
{
province.append("<option value='"+ element.id +"'>" + element.name + "</option>");
});
});
});
$('#provinces').change(function()
{
$.get("{{ url('dropdown')}}",
{ option: $(this).val() },
function(data) {
var municipalities = $('#municipalities');
municipalities.empty();
$.each(data, function(index, element) {
municipalities.append("<option value='"+ element.id +"'>" + element.name + "</option>");
});
});
});
});
</script>
questo è quanto ho scritto nelle route
PHP:
Route::get('Province2Region', function(){
$input = Input::get('option');
$region = Region::find($input);
$province = $region->province();
return Response::eloquent($province->get(['id','nome_provincia']));
});
Route::get('Municipality2Province', function(){
$input = Input::get('option');
$region = Region::find($input);
$province = $region->province();
return Response::eloquent($province->get(['id','nome_provincia']));
});
ma non c'è verso di concatenare ste benedette select. Qualcuno mi sa indicare dove stò sbagliando?
Grazie