下拉菜单- PHP获取下拉值和文本


drop down menu - PHP get dropdown value and text

<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

你为什么不使用这个呢?

<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'];
}
$animals = array('--Select Animal--', 'Cat', 'Dog', 'Cow');
$selected_key = $_POST['animal'];
$selected_val = $animals[$_POST['animal']];

使用$animals列表生成下拉列表;你现在可以拿到钥匙了。

必须在服务器端保存关系。该值是表单发布时唯一传输的部分。你可以做一些令人讨厌的事情,比如…

& lt;选项值="2 |狗"> Dog

然后拆分结果,如果你真的想,但这是一个丑陋的hack和浪费带宽假设数字是真正唯一的,并与文本有一对一的关系。

最好的方法是创建一个数组,然后循环遍历该数组来创建HTML。表单发布后,您可以使用该值在同一个数组中查找文本。

你可以使用js文件和ajax调用。在使用js文件验证数据时,我们可以读取所选下拉菜单

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

将这些捕获到两个变量中,并将其作为PHP文件的ajax调用的输入

$.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"];
}