Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Füllen Sie dynamisch mehrere Eingabefelder von MySQL aus, je nach ausgewähltem Dropdown-Listenelement

Ich würde die Zeile json codieren und als Datenattribut in der Option speichern und dann das Attribut im selects change-Ereignis lesen:

<select name="item" id="item">
<?php
    while($row = mysql_fetch_array($result)) {
        $item_id = $row['item_id'];
        $item_title = $row['item_title'];
        echo "<option value=\"".$item_id."\" data-json='" . json_encode($row) . "'>".$item_title."</option>";
    } 
 ?>
</select>
<input id="item_details" type="text" class="validate">
<input id="item_price" type="text" class="validate" value="$">

<script>
    $('#item').on('change', function() {
        var selected = $(this).find('option[value="' + $(this).val() + '"]').data('json');
        $('#item_details').val(selected.item_description);
        $('#item_price').val(selected.item_price);
    });
</script>