我有一个表单,要实现select1改变,select2的选项也改变。我把变量放在了四个数组中:
maintype=arrar(0=>"","a","b","c");
sub1=array(0=>"","a1","a2","a3");
sub2=array(0=>"","b1","b2","b3");
sub3=array(0=>"","c1","c2","c3");
现在通过循环把maintype的值给select1,当select1改变为a,b,c时,怎样将select2分别显示sub1,sub2,sub3的值呢?
前提:只能在本页,不能提交到其他页,代码用php,或者js.我是个新手,最好加注释。
分不够,开新贴再加。
---------------------------------------------------------------
1<form method="post" name="f1">
2<?PHP
3$email="[email protected]";
4if(ereg("^[a-zA-Z0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)+$",$email))
5echo $email."正确<br>";
6else
7echo $email."不正确<br/>";
8
9$maintype=array(0=>"","a","b","c");
10$sub1=array(0=>"","a1","a2","a3");
11$sub2=array(0=>"","b1","b2","b3");
12$sub3=array(0=>"","c1","c2","c3");
13
14echo '<select name="s1" onchange="submit()">';
15for($i=0;$i<count($maintype);$i++) '<option="" echo="" if($_post[s1]="$maintype[$i])" selected="" value="'.$maintype[$i].'" {="">'.$maintype[$i];
16else
17echo '<option value="'.$maintype[$i].'">'.$maintype[$i];
18}
19echo '</option></count($maintype);$i++)></select>';
20
21echo '<select name="s2">';
22if($_POST[s1]=='a')
23$arr=$sub1;
24else if($_POST[s1]=='b')
25$arr=$sub2;
26else if($_POST[s1]=='c')
27$arr=$sub3;
28else
29$arr=array();
30
31for($i=0;$i<count($arr);$i++) '<option="" echo="" value="'.$arr[$i].'" {="">'.$arr[$i];
32}
33echo '</count($arr);$i++)></select>';
34?>
35</form>
---------------------------------------------------------------
http://www.csdn.net/expert/topic/974/974562.xml?temp=.5239221
这是一个跟你相同的问题你去看看.ok?
---------------------------------------------------------------
http://www.csdn.net/expert/Topicview1.asp?id=723099
数据结构有所不同,所以修改如下
1\---------------------------------------------------------------
2
3我给你讲一下思路吧:
4采用将select中的值与select1中值进行组合,如:tt&kk其中&为分隔符!
5当选中select中的值时,就从上面那个字符串提取第一个为tt的字符,并将其进行分解,存入select1中就可以