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

Holen Sie sich nach dem Auswahlformular einen versteckten Eingabewert aus der Datenbank

Wenn ich das richtig verstehe, können Sie Folgendes tun:

PHP

<select class="textbox2" id="retailer_id" name="retailer_id">
    <option value="">--- Please select store ---</option>
    <?php
        $sql_retailers = smart_mysql_query("SELECT * FROM cashbackengine_retailers WHERE status='active' ORDER BY title ASC");
        while ($row_retailers = mysql_fetch_array($sql_retailers))
        {
            if ($retailer_id == $row_retailers['retailer_id']) $selected = " selected=\"selected\""; else $selected = "";
            echo "<option data-slug=\"".$row_retailers['retail_slug']."\" value=\"".$row_retailers['retailer_id']."\"".$selected.">".$row_retailers['title']."</option>";
        }
    ?>
</select>
<input type="hidden" name="retailer_slug"/>

jQuery

$('#retailer_id').on('change', function() {
    var $selected = $('#retailer_id option:selected');
    $('input[name=retailer_slug]').val($selected.data('slug'));
});

Die Idee hier ist also im Grunde, dass Sie den retailer_slug speichern Wert als data- -Attribut für jeden <option> . Wenn dann die ausgewählte Option geändert wird, wird der retailer_slug Wert wird in den verborgenen Eingang kopiert.