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