Как получить несколько параметров из одного 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>
→ Ссылка