dynamically popular input with jquery/ajax/Laravel

Asked

Viewed 15 times

0

I have a proprietary select that populates another select with the farms that it owns and with that I am trying to popular an input that brings the city and other input that brings the state of the farm that is selected in the second select

Controller

    public function findStateAndCityFarm(Request $request)
{
    $fazendas = Fazenda::select('cidade', 'estado')->where('id_proprietario', $request->get('id') )->get();
    $lista_cidade_estado = [];
    foreach( $fazendas as $fazenda )
    {
        $lista_cidade_estado['cidade'] = $fazenda['cidade'];
        $lista_cidade_estado['estado'] = $fazenda['estado'];
    }
    
    return $lista_cidade_estado;
}

View

<div class="form-group col-md-4 telo5ce">
                            <label for="cidade">@lang('fazendas.cidade')</label>
                            <input type="text" id="cidade" class="form-control" name="cidade" maxlength="30" required>
                        </div>
                        <div class="form-group col-md-4 telo5ce">
                            <label for="estado">@lang('fazendas.estado')</label>
                            <input type="text" id="estado" class="form-control" name="estado" maxlength="30" required>
                        </div>

Jquery/Ajax

                $('#fazenda').on('change', function() {
                var id = $(this).val();

                $('#cidade').each(function () {
                    $('#cidade').remove();
                });
                
                $.ajax({
                    url: "{{ route('findFarms_technical_delivery') }}",
                    data: {
                    "_token": "{{ csrf_token() }}",
                    "cidade": id
                    },
                    type: 'post',
                    success: function(response) 
                    {
                        $.each( response, function(k, v) {
                            $('#cidade').append($('<input>', {value:k, text:v}));
                        });
                    },
                    error: function()
                    {
                        //handle errors
                        alert('error...');
                    }
                });
            });
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.