sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera rullgardinsmenyn dynamiskt baserat på tidigare val med PHP PDO

Onchange-anropet ska vara på select-elementet och inte på etiketten

<label class="col-sm-2 form-control-label">Codigo Productor (*)</label>
<select name="vendedor_codigo onchange="productorInfo(this.value)">

Men det kommer också upp för mig att du kanske inte riktigt förstår processen. Ditt ajax-samtal avfyras inte när sidan läses in så den här biten:

<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>

Jag skulle tro att det ger dig odefinierade variabelvarningar (såvida du inte ställer in $ajax_productor_result initialt på något sätt)

Svar från ajax dras vanligtvis i .js via success:function

(result) {
            $("#ajax-vendedor").html(result);
        }

från utseendet av detta dock - om det inte finns mer kod än vad som har postats, skickar du .html()-funktionen en array eller databasrader så att den aldrig kommer att visa någonting.

så du behöver 1)rita ett urval utan alternativ vid sidladdning (eller standardalternativ om du har sådana)2)returnera ett svar som framgångsfunktionen kan använda t.ex. en json-sträng som jquery kan parse3)formatera data i jquery till <options> och använd sedan .html() funktion för att uppdatera select4) om du vill att detta ska hända när sidan initialt laddas, lägg sedan till ett dokument redo anrop till productorInfo(id) funktion - detta skulle vara relevant om du ställer in det initiala valvärdet på något sätt (så det kanske inte är relevant för dig)




  1. Hur man bygger en obegränsad nivå av meny genom PHP och mysql

  2. sp_add_schedule vs sp_add_jobschedule i SQL Server:Vad är skillnaden?

  3. Påverkar begränsningar av främmande nyckel frågetransformationer i Oracle?

  4. kan vi namnge en standardbegränsning i oracle