有两个下拉菜单,A 和 B。
a中的值是: - 汽车,自行车,平面B中的值是(选择汽车时): - 选择自行车时的梅赛德斯: - 杜卡迪: - 选择平面时: - mig,concorde
同样在选择两个下拉菜单中的值后,将更新一个带有价格的文本框,我需要这是一个重复的过程。我该如何实施?我对 PHP 相当陌生。
有两个下拉菜单,A 和 B。
a中的值是: - 汽车,自行车,平面B中的值是(选择汽车时): - 选择自行车时的梅赛德斯: - 杜卡迪: - 选择平面时: - mig,concorde
同样在选择两个下拉菜单中的值后,将更新一个带有价格的文本框,我需要这是一个重复的过程。我该如何实施?我对 PHP 相当陌生。
首先,我要感谢 jogesh_p 的帮助。
我终于设法自动填充两个下拉菜单,并使第二个下拉菜单依赖于第一个下拉菜单。
正如 jogesh 在使用 php 和 jQuery 的动态选择框上提到的他的博客
确实有很大帮助。
但是,我将发布我使用过的代码,因为论坛往往会占据 Google 中更高的结果,并且让像我这样的其他新 php 程序员更容易找到它。
编码分两页完成:
attempt.php
(这是主页)level.php
(当第一个下拉菜单的值改变时调用这个页面)jQuery 和 PHP 都用过。
attempt.php
:
<?php
//connect to the database
$con = mysql_connect("localhost","root","12345") or die("error ".mysql_error());
//connect to the trav table
mysql_select_db("trav",$con) or die("error ".mysql_error());
?>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(function()
{
$(window).load(function()
{
$('#building').change(function()
{
var parentValue = $(this).val();
// Determine the selected Value
if( parentValue.length != "" )
{
$.ajax(
{
url: 'level.php',
data: {parent: parentValue},
success: function(data)
{
$('#level').html(data);
}
});
}
else
{
$('#level').html('<option value="">Please Select</option>');
}
});
});
});
</script>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
<table cellpadding="6" cellspacing="1">
<tr>
<td>
<label>Select Building : </label>
</td>
<td>
<select id="building">
<option value="">Please Select</option>
<?php
$query = "select * from build_list";
$result = mysql_query($query) or die('Error'.mysql_error());
while( $row = mysql_fetch_assoc($result) )
{
echo '<option value="'. $row['building'] .'">' . ucwords($row['building']) . '</option>';
}
?>
</select>
</td>
<td>
<label>Select Level : </label>
</td>
<td>
<select id="level">
<option value="">Please Select</option>
</select>
</td>
</tr>
</table></center>
</form>
</body>
</html>
level.php
:
<?php
//connect to the database
$con = mysql_connect("localhost","root","12345") or die("error ".mysql_error());
//connect to the trav table
mysql_select_db("trav",$con) or die("error ".mysql_error());
$building = mysql_real_escape_string($_GET['parent']);
$query = "select * from ";
$query = $query . $building;
$query = $query . ";";
$result = mysql_query($query) or die('Error in Child Table!');
echo '<option value="">Please Select</option>';
while( $row = mysql_fetch_assoc($result) )
{
echo '<option value="'. $row['lvl'] .'">'.$row['lvl'].'</option>';
}
?>
请注意,上面的代码是从 jogesh 的博客中使用的。上面已经提到了链接。
希望它可以帮助像我这样对 php 不熟悉但喜欢尝试我们不同的东西的其他 php 程序员。