$x=mysql_connect($host,$username,$password);
$x1=mysql_select_db($database);
$query="select * from grade";
$result=mysql_query($query);
echo ' <select name="grade" onChange="document.form7.submit()">';
if ($grade<>"")
{ $gdcode=$grade;
}
while($row=mysql_fetch_array($result))
{
echo " <option value=\"".$row["GRADE_CODE"]."\">".$row["GRADE_DESP"]."</option>";
}
?>
<input type="text" name="textfield">
</div>
</form></td>
<td>所在班级</td>
<td><form name="form8" method="post" action="">
<?php
$query1="select * from class where grade_code=\"".$gdcode."\"";
$result1=mysql_query($query1);
echo " <select name=\"class\">";
echo " <option>请选择班级</option>";
while($row=mysql_fetch_array($result1))
{
echo " <option value=\"".$row["CLASS_CODE"]."\">".$row["CLASS_DESP"]."</option>";
}
/*每次选完年级后列表总是跑到第一行记录上,而班级列表能够正常显示所选年级中的班级,怎样让年级列表选完之后显示所选的那一行而不是刷新?
$x1=mysql_select_db($database);
$query="select * from grade";
$result=mysql_query($query);
echo ' <select name="grade" onChange="document.form7.submit()">';
if ($grade<>"")
{ $gdcode=$grade;
}
while($row=mysql_fetch_array($result))
{
echo " <option value=\"".$row["GRADE_CODE"]."\">".$row["GRADE_DESP"]."</option>";
}
?>
<input type="text" name="textfield">
</div>
</form></td>
<td>所在班级</td>
<td><form name="form8" method="post" action="">
<?php
$query1="select * from class where grade_code=\"".$gdcode."\"";
$result1=mysql_query($query1);
echo " <select name=\"class\">";
echo " <option>请选择班级</option>";
while($row=mysql_fetch_array($result1))
{
echo " <option value=\"".$row["CLASS_CODE"]."\">".$row["CLASS_DESP"]."</option>";
}
/*每次选完年级后列表总是跑到第一行记录上,而班级列表能够正常显示所选年级中的班级,怎样让年级列表选完之后显示所选的那一行而不是刷新?
{
echo " <option value=\"".$row["GRADE_CODE"]."\">".$row["GRADE_DESP"]."</option>";
}这段改成
while($row=mysql_fetch_array($result))
{
echo " <option value=\"".\"";
if ($row["GRADE_CODE"] == $_POST["grade"]) echo " selected";
echo ">".$row["GRADE_DESP"]."</option>";
}
$db=mysql_connect("localhost","root","");
mysql_select_db("dev");
$sql="select devid,cnum from device order by devid";
$result=mysql_query($sql);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript">
function dChange(inForm,selected)
{
var pos=0;
var num=0;
pos=selected.indexOf("*");
num=num+selected.substring(pos+1,selected.length);
num=parseInt(num,10)+1;
/*定义与主下拉框关联的数组*/
var arrSel=new Array(num);
//arrSel[0]="('1','',true,true)";
arrSel[0]="('-全部-','all',true,true)";
for(var s=1;s<num;s++)
arrSel[s]=eval("\"('"+(s)+"')\"");
//将数组显示在子下拉框中
while (arrSel.length < inForm.s2.options.length) {
inForm.s2.options[(inForm.s2.options.length - 1)] = null;
}
for (var i=0; i < num; i++) {
eval("inForm.s2.options[i]=" + "new Option" + arrSel[i]);
}
}
</script>
</head><body>
<form name="form1" method="post" action="">
<select name="s1" onChange="dChange(document.form1,this.options[selectedIndex].value)">
<option value="sel1" selected>-select-</option>
<?php
while($r=mysql_fetch_array($result))
{
$value=$r['devid']."*".$r['cnum'];
echo "<option value=".$value.">".$r['devid']."</option>";
}
?>
</select>
<select name="s2">
<option value='sel2' selected>-select-</option>
</select>
<input type="submit" name="Submit" value="test">
</form>
</body>
</html>
此例为我测试用的一个例子:devid设备号,cnum设备的通道数。主下拉框显示各设备号,次下拉框根据所选择的设备号的通道数产生通道号(1~通道数)并显示出来。