Onchange-kaldet skal være på select-elementet og ikke på etiketten
<label class="col-sm-2 form-control-label">Codigo Productor (*)</label>
<select name="vendedor_codigo onchange="productorInfo(this.value)">
Men det går også op for mig, at du måske ikke helt forstår processen. Dit ajax-opkald bliver ikke afgivet, når siden indlæses, så denne smule:
<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>
Jeg vil tro, at det giver dig udefinerede variable advarsler (medmindre du indstiller $ajax_productor_result
i første omgang på en eller anden måde)
Svar fra ajax trækkes normalt i .js via success:function
(result) {
$("#ajax-vendedor").html(result);
}
fra udseendet af dette dog - medmindre der er mere kode end det, der er blevet postet, sender du .html()-funktionen et array eller databaserækker, så det aldrig kommer til at vise noget.
så du skal 1) tegne en markering uden indstillinger i sideindlæsning (eller standardindstillinger, hvis du har dem) 2) returnere et svar, som succesfunktionen kan gøre brug af f.eks. en json-streng, som jquery kan parse3)formatere dataene i jquery til <options>
og brug derefter .html()
funktion til at opdatere select4), hvis du ønsker, at dette skal ske, når siden indlæses indledningsvis, tilføj derefter et dokument klar opkald til productorInfo(id)
funktion - dette ville være relevant, hvis du indstiller den oprindelige valgværdi på en eller anden måde (så den er muligvis ikke relevant for dig)