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