我想链接一个下拉框菜单,当我选择一个菜单然后它应该显示根据所选菜单使用php的列表,我使用,如果否则但它不工作
<?php>
if(value="tata")
{
<option value="vista">vista</option>
<option value="nano">nano</option>
<option value="aria">aria</option>
<option value="manza">manza</option>
}
elseif(value="fiat")
{
<option value="linea">linea</option>
<option value="punto">punto</option>
}
elseif(value="maruti")
{
<option value="swift">swift</option>
<option value="desire">desire</option>
<option value="omni">omni</option>
<option value="maruti 800">maruti 800</option>
}
elseif(value="hundai")
{
<option value="santro">santro</option>
<option value="verna">verna</option>
}
?>
答案 0 :(得分:2)
如果你想使用php的动态列表,你应该使用ajax。
试试这个例子:
使用此ajax脚本
$(document).ready(function() {
$('#dropdown').change( function() {
$('#myform').submit();
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#output').html(response);
}
});
return false;
});
});
<form id=myform method=POST action="process.php"> <select id="dropdown" name="dropdown"> <option value="tata">TATA</option> <option value="fiat">FIAT</option> <option value="maruti">MARUTI</option> <option value="hundai">HUNDAI</option> </select> </form> <div id="output"></div>
process.php
<?php $value = $_POST['dropdown']; $html = "<select name = 'cars' id='cars'>"; if ($value == 'tata') { $html .= "<option value='vista'>vista</option><option value='nano'>nano</option><option value='aria'>aria</option><option value='manza'>manza</option>"; } elseif($value == 'fiat') { $html .= "<option value='linea'>linea</option><option value='punto'>punto</option>"; } elseif($value == 'maruti') { $html .= "<option value='swift'>swift</option><option value='desire'>desire</option><option value='omni'>omni</option><option value='maruti 800'>maruti 800</option>"; } elseif($value == 'hundai') { $html .= "<option value='santro'>santro</option><option value='verna'>verna</option>"; } $html .= "</select>"; echo $html; exit;
<form id=myform method=POST action="process.php"> <select id="dropdown" name="dropdown"> <option value="tata">TATA</option> <option value="fiat">FIAT</option> <option value="maruti">MARUTI</option> <option value="hundai">HUNDAI</option> </select> </form> <div id="output"></div>
答案 1 :(得分:0)
作为服务器端语言的PHP将需要刷新页面(发布的表单),然后才能获得第一个选定下拉列表的值。
要在没有页面刷新的情况下执行此操作,您需要在客户端使用JavaScript执行此操作。如果列表是通过PHP生成的,那么你应该研究一下AJAX。
答案 2 :(得分:0)
//在header.php上创建这样的数组
$list = array(
'tata' => array(
'vista', 'nano', 'aria'
),
'fiat' => array(
'linea', 'punto'
),
'maruti' => array(
'swift', 'desire'
)
};
//你的car.php你要去哪里动作..这里是一个标题.php
<select name="Manuf" id="Manuf" onchange="show_car(this.value)">
<option value="">/option>
<?php
foreach($list as $x => $x_value)
{
echo '<option value="'.$x.'" >'.$x.'</option>';
}
?>
</select>
<select name="car" id="car"></select>
// Ajax功能用于展示车
function show_car(manuf)
{
var xmlhttp;
if (manuf.length==0)
{
alert("Select manufacturer");
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("car").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax.php?manuf="+manuf,true);
xmlhttp.send();
}
// ajax.php上的代码..call header.php这里也是
foreach($list as $x => $x_value)
{
if($x == $_GET['manuf'])
{
for($i=0; $i<sizeof($x_value);$i++)
{
echo '<option value="'.$x_value[$i].'" >'.$x_value[$i].'</option>';
}
}
}