<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 和 Cat
请帮忙。谢谢。
答案 0 :(得分:15)
你有没有理由不使用它?
<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'];
}
答案 1 :(得分:13)
$animals = array('--Select Animal--', 'Cat', 'Dog', 'Cow');
$selected_key = $_POST['animal'];
$selected_val = $animals[$_POST['animal']];
使用$ animals列表生成下拉列表;你现在可以得到关键&amp;该键的值。
答案 2 :(得分:1)
您必须在服务器端保存关系。该值是发布表单时传输的唯一部分。你可以做一些讨厌的事情......
&lt; option value =“2 | Dog”&gt; Dog&lt; / option&gt;
然后将结果分开,如果你真的想要,但这是一个丑陋的黑客和浪费带宽,假设数字是真正独特的,并与文本有一对一的关系。
最好的方法是创建一个数组,并在数组上循环以创建HTML。发布表单后,您可以使用该值在同一数组中查找文本。
答案 3 :(得分:1)
你可以使用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"];
}