用于获取组合框的选定文本的PHP代码

Emm*_*ith 4 html php combobox selectedtext

我有一个名为"Make"的组合框.在那个组合框中,我正在加载汽车制造商的名字.当我单击SEARCH按钮时,我想显示所选的制造商名称.以下是我的HTML代码的一部分.

<label for="Manufacturer"> Manufacturer : </label>
<select id="cmbMake" name="Make" >
   <option value="0">Select Manufacturer</option>
   <option value="1">--Any--</option>
   <option value="2">Toyota</option>
   <option value="3">Nissan</option>
</select>

<input type="submit" name="search" value="Search"/>
Run Code Online (Sandbox Code Playgroud)

下面是我的PHP代码到目前为止我已经完成了.

 <?php

if(isset($_POST['search']))
{
    $maker = mysql_real_escape_string($_POST['Make']);
    echo $maker;
    }
 ?>
Run Code Online (Sandbox Code Playgroud)

如果我从组合框中选择丰田并按下SEARCH按钮,我的答案为'2'.这意味着它给了我'丰田'的价值.但是我希望显示"丰田"这个名字.我怎样才能做到这一点?请帮我 ....

小智 6

试试这个.您将在$ _POST ['Make']中获得选择框值,并且名称将在$ _POST ['selected_text']中获得

<form method="POST" >
<label for="Manufacturer"> Manufacturer : </label>
  <select id="cmbMake" name="Make"     onchange="document.getElementById('selected_text').value=this.options[this.selectedIndex].text">
     <option value="0">Select Manufacturer</option>
     <option value="1">--Any--</option>
     <option value="2">Toyota</option>
     <option value="3">Nissan</option>
</select>
<input type="hidden" name="selected_text" id="selected_text" value="" />
<input type="submit" name="search" value="Search"/>
</form>


 <?php

if(isset($_POST['search']))
{

    $makerValue = $_POST['Make']; // make value

    $maker = mysql_real_escape_string($_POST['selected_text']); // get the selected text
    echo $maker;
}
 ?>
Run Code Online (Sandbox Code Playgroud)


Bar*_*mar 5

将您想发送给 PHP 的任何内容放在value属性中。

  <select id="cmbMake" name="Make" >
     <option value="">Select Manufacturer</option>
     <option value="--Any--">--Any--</option>
     <option value="Toyota">Toyota</option>
     <option value="Nissan">Nissan</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

您也可以省略该value属性。它默认使用文本。

如果您不想更改 HTML,可以在 PHP 中放置一个数组来转换值:

$makes = array(2 => 'Toyota',
               3 => 'Nissan');

$maker = $makes[$_POST['Make']];
Run Code Online (Sandbox Code Playgroud)