Как получить несколько параметров из одного select option?
Необходимо при выборе select option получить не один параметр name, а два.
Возможно ли это реализовать?
Пример:
<select name="date" class="form-control input-lg">
<option coin="btc" value="2013-04-28">Bitcoin</option>
<option coin="eth" value="2015-08-07">Ethereum</option>
</select>
name="date" получаю, как получить значение coin и передать далее post запросом?
Данный вопрос продолжение этого, т.к. ответ не получен, решил пойти другим путем
Ответы (1 шт):
Автор решения: zhurof
→ Ссылка
Вариант 1: менять js-ом имя select. На сарваре соответсвенно будут данные вида $_POST['date'] == ['btc'=>'2013-04-28']
$('#date-select').change(function(){
var coin = $(this).find(':selected').data('coin');
$(this).prop('name','date['+coin+']');
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="/">
<select name="date[btc]" id="date-select" class="form-control input-lg">
<option data-coin="btc" value="2013-04-28">Bitcoin</option>
<option data-coin="eth" value="2015-08-07">Ethereum</option>
</select>
<input type="submit">
</form>
Вариант 2: пихать в value и название монеты и дату, используя какой-нибудь разделитель. А потом уже на сервере разбивать строку в массив через explode и т.д.
<select name="date" id="date-select" class="form-control input-lg">
<option value="btc|2013-04-28">Bitcoin</option>
<option value="eth|2015-08-07">Ethereum</option>
</select>