我有两个由mysql查询生成的组合框。
当用户在第一个组合框中选择值时,需要显示第二个组合框,但如果没有选择,则不应显示第二个组合框。代码:
<?php
echo "<form method= '"post'" name='"formcombo'" action=''>";
echo "<select name='cat' onchange='"reload(this.form)'"><option value=''>Choose main category</option>";
while($cat2 = mysql_fetch_array($query2)) {
if($cat2['category_id']==@$category)
{
echo "<option value='$cat2[category_id]'>$cat2[category_name]</option></br>";}
else
{
echo "<option value='$cat2[category_id]'>$cat2[category_name]</option>";
}
}
echo "</select></br>";
echo "<select name='subcat'><option value=''>Choose subcategory</option>";
while($cat = mysql_fetch_array($query1)) {
echo "<option value='$cat[subcat_name]'">$cat[subcat_name]</option>";
}
echo "</select>";
echo "<input type='"submit'" value ='"Submit'">";
echo "</form>";
?>
我使用javascript生成组合框值:
<script type="text/javascript">
function reload(form){
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='main.php?cat=' + val ;
}
</script>
如果你可以使用jQuery js库,这很容易。查看这个jQuery插件http://plugins.jquery.com/project/selectchain
尝试本页提供的演示并使用插件来完成。