我有一个名为"Make“的组合框。在这个组合框中,我加载了车辆制造商的名称。当我点击搜索按钮时,我想要显示所选的制造商名称。下面是我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"/>
下面是到目前为止我已经完成的PHP代码。
<?php
if(isset($_POST['search']))
{
$maker = mysql_real_escape_string($_POST['Make']);
echo $maker;
}
?>
如果我从组合框中选择丰田并按下搜索按钮,我得到的答案是'2‘。这意味着它给了我‘丰田’的价值。但是我想要显示‘丰田’的名字。我该怎么做呢?请帮帮我...
发布于 2013-08-16 16:48:27
试试这个。您将在$_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;
}
?>
发布于 2013-08-16 15:34:03
将您想要发送到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>
您还可以省略value
属性。它默认使用文本。
如果您不想更改HTML,可以在PHP中放置一个数组来转换值:
$makes = array(2 => 'Toyota',
3 => 'Nissan');
$maker = $makes[$_POST['Make']];
发布于 2013-08-16 15:43:04
您可以通过创建新数组来实现这一点:
<?php
$array = array(1 => "Toyota", 2 => "Nissan", 3 => "BMW");
if (isset ($_POST['search'])) {
$maker = mysql_real_escape_string($_POST['Make']);
echo $array[$maker];
}
?>
https://stackoverflow.com/questions/18268068
复制相似问题