Mysql
 sql >> Base de données >  >> RDS >> Mysql

Remplir dynamiquement plusieurs champs de saisie à partir de MySQL en fonction de l'élément de liste déroulante sélectionné

Je voudrais encoder la ligne et la stocker en tant qu'attribut de données sur l'option, puis lire l'attribut sur l'événement selects change :

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