代码如下:
<?php
include("conn.php");
$sql = "select secondclassname from secondclass";
$query = mysql_query($sql,$conn);
?>
<script language = "JavaScript">
var onecount;
onecount = 0;
subcat = new Array();
<?php
$count=0;
while($rs = mysql_fetch_array($query)){
?>
subcat[<?=$count;?>] = new Array("<?=$rs['secondclassname'];?>","<?=$rs['firstclassname']?>","<?=$rs['id']?>");
<?php
$count++;
}
?>
onecount=<?=$count?>;
function Getname(name)
{
document.myform.select_secondclass.length = 1;
var name=name;
alert(name);
var i;
for (i=0;i < onecount; i++)
{
if (subcat[1] == name)
{
document.myform.select_secondclass.options[document.myform.select_secondclass.length] = new Option(subcat[0], subcat[2]);
}
}
}
</script><form name="myform" method = "post" action="">
选择一级分类:<select name="select_firstclass" onChange="Getname(document.myform.select_secondclass.options[document.myform.select_secondclass.selectedIndex].value)" >
<option value="">选择一级分类</option>
<?php
$sql = "select firstclassname from firstclass";
$query = mysql_query($sql,$conn);
?>
<?php
while($record=mysql_fetch_array($query)){
?>
<option value="<?php echo $record['firstclassname'];?>">
<?php echo $record['firstclassname']; ?>
</option>
<?php } ?>
</select>选择二级分类:<select name="select_secondclass">
<option value="">选择二级分类</option>
</select></form>
想要的效果是选中第一个select的某个option时,第二个select出现对应的内容,现在不知哪里出错了,第二个select出现了所有的内容,我通过alert显示Onchang函数传递的参数时,显示为空,问题是不是出在这里啊
<?php
include("conn.php");
$sql = "select secondclassname from secondclass";
$query = mysql_query($sql,$conn);
?>
<script language = "JavaScript">
var onecount;
onecount = 0;
subcat = new Array();
<?php
$count=0;
while($rs = mysql_fetch_array($query)){
?>
subcat[<?=$count;?>] = new Array("<?=$rs['secondclassname'];?>","<?=$rs['firstclassname']?>","<?=$rs['id']?>");
<?php
$count++;
}
?>
onecount=<?=$count?>;
function Getname(name)
{
document.myform.select_secondclass.length = 1;
var name=name;
alert(name);
var i;
for (i=0;i < onecount; i++)
{
if (subcat[1] == name)
{
document.myform.select_secondclass.options[document.myform.select_secondclass.length] = new Option(subcat[0], subcat[2]);
}
}
}
</script><form name="myform" method = "post" action="">
选择一级分类:<select name="select_firstclass" onChange="Getname(document.myform.select_secondclass.options[document.myform.select_secondclass.selectedIndex].value)" >
<option value="">选择一级分类</option>
<?php
$sql = "select firstclassname from firstclass";
$query = mysql_query($sql,$conn);
?>
<?php
while($record=mysql_fetch_array($query)){
?>
<option value="<?php echo $record['firstclassname'];?>">
<?php echo $record['firstclassname']; ?>
</option>
<?php } ?>
</select>选择二级分类:<select name="select_secondclass">
<option value="">选择二级分类</option>
</select></form>
想要的效果是选中第一个select的某个option时,第二个select出现对应的内容,现在不知哪里出错了,第二个select出现了所有的内容,我通过alert显示Onchang函数传递的参数时,显示为空,问题是不是出在这里啊
一 是你自己说的这个,onChange的问题二 是
<?php
include("conn.php");
$sql = "select secondclassname from secondclass";
$query = mysql_query($sql,$conn);
?>
对 select1 传过来的值没有接收,也没有加以引入判断
$sql = "select secondclassname from secondclass";是读取所有secondclassname值
应该改成:
$select_firstclass = $_POST['select_firstclass'];
$sql = "select secondclassname from secondclass as s inner jion firstclass as f on s.id = f.id";on 后面的表达式要根据你的字段实际情况而顶。
secondclass 和 firstclass 这两个表需要有关联项,要有外键相联。因为是两个表 需要用到多表连接查询。