Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atualizar o menu suspenso dinamicamente com base na seleção anterior com PHP PDO


A chamada onchange deve estar no elemento select e não no rótulo
<label class="col-sm-2 form-control-label">Codigo Productor (*)</label>
<select name="vendedor_codigo onchange="productorInfo(this.value)">

Mas também me ocorre que você pode não entender muito bem o processo. Sua chamada ajax não será acionada quando a página for carregada, então este bit:
<select id="ajax-vendedor" name="vendedor_nombre">
            <?php foreach ($ajax_productor_result as $dd_productor_display) : ?>
            <option placeholder="Seleccione codigo" value="<?= $dd_productor_display['vendedor_nombre']; ?>">
                <?= $dd_productor_display['vendedor_nombre']; ?>
            </option>

eu acho que está dando avisos de variáveis ​​indefinidas (a menos que você esteja configurando $ajax_productor_result inicialmente de alguma forma)

As respostas do ajax geralmente são desenhadas em .js via success:function
(result) {
            $("#ajax-vendedor").html(result);
        }

a partir da aparência disso - a menos que haja mais código do que o que foi postado, você está passando a função .html() uma matriz ou linhas de banco de dados para que ela nunca exiba nada.

então você precisa 1) desenhar uma seleção sem opções no carregamento de página (ou opções padrão, se você as tiver) 2) retornar uma resposta que a função de sucesso pode usar, por exemplo uma string json que jquery pode analisar3) formatar os dados em jquery no <options> e então use o .html() função para atualizar o select4) se você quiser que isso aconteça quando a página for carregada inicialmente, adicione uma chamada de documento pronto para o productorInfo(id) função - isso seria relevante se você estiver definindo o valor de seleção inicial de alguma forma (portanto, pode não ser relevante para você)