Problem with select and use of ajax in Laravel 5 [closed]

0

I'm trying to implement a select with ajax in laravel 5 I have the following situation.

A state model class

class Estados extends Model {

protected $table = 'estados';


public function cidades() {
    return $this->hasMany( 'App\Models\Painel\Cidades', 'id_estado', 'id');
 }
}

a city class model

class Cidades extends Model {
protected $table = 'cidades';

public function pessoaFisica() {
    return $this->hasMany('App\Models\Painel\PessoaFisica');
}

public function estado() {
    return $this->belongsTo ( 'App\Models\Painel\Estados', 'id_estados' );
}
}

Then I did the following in my view I made the following two selects and a js method.

<div class="form-group">
                <label>Estado
                    <select name="estado" id="estado" class="form-control input-sm">
                        <option value="">Escolha o Estado</option>
                        @foreach($estados as $estado)
                            <option value="{{$estado->id}}">{{ $estado->uf }}</option>
                        @endforeach
                       </select>
                </label>
            </div>



            </div>

            <div class="col-sm-4">

                    <div class="form-group">
                    <label>Cidade
                    <select id="cidade" class="form-control input-sm" name="cidade">
                    <option value=""></option>
                    </select>
                    </label>
                    </div>

            </div>

Follow the js

 <script>
     $('#estado').on('change', function(e){
         console.log(e);
         var estado = e.target.value;

         $.get('/estados?estado' + estado, function(data) {

             $('#cidade').empty();
             $.each(data, function(index,subcatObj){
                 $('#cidade').append('<option value="'+subcatObj.id+'">'+ subcatObj.nome </option>);
             });
         });
     });
 </script>

To populate my select state in my controller I did the following.

public function getAdicionar() {

    $estados = Estados::all();

    return view("painel.admin.adicionarpessoafisica", compact("estados"));

}

And last but not least I did the following in my route.

Route::get('/estados',function() {
    $estado = Input::get('estado');

    $cidades = Cidades::where('id_estado', '=', $estado)->get();

    return Response::json($cidades);

});

The problem that is occurring is the following when trying to load the second select that depends on the first is not happening at all.

    
asked by anonymous 28.02.2016 / 03:10

1 answer

1

You did this:

   $.get('/estados?estado' + estado, function(data) {

But the correct thing is this:

   $.get('/estados?estado=' + estado, function(data) {

Missing a sign of =

    
28.02.2016 / 16:07