У меня есть выбранный вход, который получает опции из базы данных retailer_id, что мне нужно, когда администратор выбирает розничного продавца на этом входе select, у меня будет новый с retailer_slug, а затем, когда администратор создаст или обновит, sen в базу данных retailer_id и retailer_slug на скрытый ввод. мой код:
РЕДАКТИРОВАНИЕ
<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['slug_title']."\" value=\"".$row_retailers['retailer_id']."\"".$selected.">".$row_retailers['title']."</option>"; } ?> </select> <input type="text" name="slug" id="slug" value=""/> <script type="text/javascript"> $(document).ready(function() { $('#retailer_id').on('change', function() { var $selected = $('#retailer_id option:selected'); $('input[name=slug]').val($selected.data('slug')); }); }); </script>
Если я правильно понимаю, это одна вещь, которую вы могли бы сделать:
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')); });
Таким образом, идея состоит в том, что вы сохраняете значение retailer_slug
в качестве атрибута data-
для каждого <option>
. Затем, когда выбранная опция изменена, значение retailer_slug
копируется на скрытый ввод.