PHP получает раскрывающееся значение и текст


<select id="animal" name="animal">                      
<option value="0">--Select Animal--</option>
<option value="1">Cat</option>
<option value="2">Dog</option>
<option value="3">Cow</option>
</select>

if($_POST['submit'])
{
$animal=$_POST['animal'];
}

У меня есть такой выпадающий список. Что я хочу, я хочу получить выбранное значение и текст в кнопке отправить, используя PHP. Я имею в виду, если он выбран 1-м. Я хочу получить и то, и другое 1 и Кошка

Пожалуйста, помогите. спасибо.

Author: Sasindu H, 2011-07-12

4 answers

$animals = array('--Select Animal--', 'Cat', 'Dog', 'Cow');
$selected_key = $_POST['animal'];
$selected_val = $animals[$_POST['animal']];

Используйте свой список $animals для создания выпадающего списка; теперь вы можете получить ключ и значение этого ключа.

 12
Author: john, 2011-07-12 19:41:01

Есть ли причина, по которой вы просто не использовали это?

<select id="animal" name="animal">                      
  <option value="0">--Select Animal--</option>
  <option value="Cat">Cat</option>
  <option value="Dog">Dog</option>
  <option value="Cow">Cow</option>
</select>

if($_POST['submit'] && $_POST['submit'] != 0)
{
   $animal=$_POST['animal'];
}
 15
Author: Swift, 2011-07-12 19:42:03

Вам придется сохранить отношения на стороне сервера. Значение - это единственная часть, которая передается при отправке формы. Вы могли бы сделать что-нибудь неприятное, например...

Собакаопция>

Затем разделите результат на части, если вы действительно этого хотите, но это уродливый взлом и пустая трата пропускной способности при условии, что числа действительно уникальны и имеют отношение один к одному с текстом.

Лучшим способом было бы создать массив и выполнить цикл над массив для создания HTML-кода. Как только форма будет опубликована, вы можете использовать это значение для поиска текста в том же массиве.

 1
Author: Bill Heller, 2011-07-12 19:42:11

Вы можете сделать это с помощью js-файла и вызова ajax. при проверке данных с помощью js-файла мы можем прочитать текст выбранного выпадающего списка

$("#dropdownid").val();   for value
$("#dropdownid").text(); for selected value

Разделите их на две переменные и используйте их в качестве входных данных для вызова ajax для php-файла

$.ajax 
   ({
     url:"callingphpfile.php",//url of fetching php  
     method:"POST", //type 
     data:"val1="+value+"&val2="+selectedtext,
     success:function(data) //return the data     
     {

}

И в php вы можете получить его как

    if (isset($_POST["val1"])) {
    $val1= $_POST["val1"] ;
}

if (isset($_POST["val2"])) {
  $selectedtext= $_POST["val1"];
}
 0
Author: Srinivasa Reddy, 2018-05-05 09:41:03