PHP get dropdownlist выбирает значение опции

В моем раскрывающемся списке у меня есть два разных значения для каждого параметра. Как я могу получить оба? Позвольте мне проиллюстрировать, что я имею в виду.

<select name="my_ddl"> <option value="<?php $value_Id ?>"><?php $value_text ?></option> <option value="<?php $value_Id ?>"><?php $value_text ?></option> </select> 

Когда форма размещена, я хочу иметь возможность получить значения $ value_id и $ value_text выбранного параметра. Как я могу это сделать?

$ _POST ['my_ddl'] получает только одно значение не для обоих.

В asp.net я мог сделать это просто, обратившись к my_ddl.Value и my_ddl.Text.

Спасибо!

Строго, это невозможно.

Что вы можете сделать, так это использовать разделитель в атрибуте value :

 <select name="my_ddl"> <option value="<?php echo $value_Id ?>|<?php echo $value_text ?>"><?php echo $value_text ?> </option> </select> 

А также…

 <?php list($id, $text) = explode('|', $_POST['my_ddl']); //... ?> 

Другой странный способ сделать это:

 <select name="my_ddl"> <option value="<?php echo $value_Id ?>[<?php echo $value_text ?>]"> <?php echo $value_text ?> </option> </select> 

Затем, когда вы его обрабатываете, вы можете сделать это или, может быть, даже что-то более простое:

 foreach ($_POST['my_dd1'] as $value_Id => $value_text) { $value_Id = $value_Id; $value_text = $value_text; } 

Поскольку php обрабатывает значение [], поскольку строка представляет собой массив, и поэтому у вас сразу есть ассоциативный массив. Я согласен с тем, что, если вы поместите его там, в первую очередь, вы должны просто посмотреть его снова в коде, а не полагаться на это.

Если вы используете PHP для заполнения текста для параметра <option> вы можете просто посмотреть на него значение на сервере. Возможно, вам просто нужно использовать $ value_id для поиска текста в таблице базы данных?

Если нет, вы можете включить скрытое поле в свою форму и использовать JavaScript для обновления этого скрытого поля с текстом каждый раз, когда будет выбрано новое значение.

Вы не можете получить value_text из данных POST. Одним из решений является заполнение скрытого поля после выбора опции с помощью JavaScript.