二级联动输出问题 <select name="s2" onchange="alert(this.options[selectedIndex].text)"> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <select name="s2" onchange="alert(this.options[selectedIndex].value)"> 我想要的结果是:在第二个select的值确定下来后,把它赋值给一个变量。 没听明白LZ什么意思,要把select的值赐给哪个变量啊?如果是想通过这两个菜单生成查询语句的话,那么直接post后,通过PHP不就能获得这个参数数了吗? 我要在当前页得到两个select的值,然后查询数据库。我在当前页加上 $dj=$_POST["s2"]对吗?为什么它不能得到s2的值呢? s2.value就是你要的值如果还不满意,就再form中加一个"input1"<form name="frm"><input type="hidden" name="input1" value=""></form>然后再设置s2的onChange方法<select name="s2" onChange="javascript:document.frm.input1.value=this.options[selectedIndex].value;"> 只要s1和s2都在form里,提交就一定有这两个值,但是在你代码里没见到提交的方法 <?echo '<form name="frm" method="post">';echo '<select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)">';echo ' <option selected>请选择</option>';echo ' <option value="1">脚本语言</option>';echo ' <option value="2">高级语言</option>';echo ' <option value="3">其他语言</option>';echo "</select>";echo '<select name="s2" >';echo ' <option value="请选择" selected>请选择</option>';echo "</select>";echo "<input type=submit name=mm value=提交>";echo "</form>";if ($mm){ $dj=$_POST["s2"]; echo $dj;}?><script language="javascript">//获取一级菜单长度var select1_len = document.frm.s1.options.length;var select2 = new Array(select1_len);//把一级菜单都设为数组for (i=0; i<select1_len; i++) { select2[i] = new Array();}//定义基本选项select2[0][0] = new Option("请选择", " ");select2[1][0] = new Option("PHP", " ");select2[1][1] = new Option("ASP", " ");select2[1][2] = new Option("JSP", " ");select2[2][0] = new Option("C/C++", " ");select2[2][1] = new Option("Java", " ");select2[2][2] = new Option("C#", " ");select2[3][0] = new Option("Perl", " ");select2[3][1] = new Option("Ruby", " ");select2[3][2] = new Option("Python", " ");//联动函数function redirec(x){ var temp = document.frm.s2; temp.length=0; //--新加temp.options.length=select2[x].length; // --新加 for (i=0;i<select2[x].length;i++) { temp.options[i]=new Option(select2[x][i].text,select2[x][i].value); } temp.options[0].selected=true;}</script>加上提交按钮后,点击提交也不能显示s2的内容,只能显示s2默认的"请选择" 结合apache 的p hp 伪静态URL怎么写? 【指教】 RewriteRule重写问题 通过DLL读取语言包显示UTF-8乱码问题 PHP如何实现邀请注册 求助:php函数转asp函数 PHP里怎么判断一个记录集是空记录集? codeigniter中设置这样的路由怎么不起作用 问个低级问题:表单提交后如果不符合要求返回如何保留原来资料不被刷新掉 请教各位... rc4加密后是乱码的问题 我从数据库里取数据出来,然后用fwrite把数据写到一个文件中,为何文件中会变成乱码 页面生成后怎么设置链接 PHP实现
<form name="frm">
<input type="hidden" name="input1" value="">
</form>
然后再设置s2的onChange方法
<select name="s2" onChange="javascript:document.frm.input1.value=this.options[selectedIndex].value;">
echo '<form name="frm" method="post">';
echo '<select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)">';
echo ' <option selected>请选择</option>';
echo ' <option value="1">脚本语言</option>';
echo ' <option value="2">高级语言</option>';
echo ' <option value="3">其他语言</option>';
echo "</select>";echo '<select name="s2" >';
echo ' <option value="请选择" selected>请选择</option>';
echo "</select>";
echo "<input type=submit name=mm value=提交>";
echo "</form>";
if ($mm){
$dj=$_POST["s2"];
echo $dj;
}
?><script language="javascript">
//获取一级菜单长度
var select1_len = document.frm.s1.options.length;
var select2 = new Array(select1_len);//把一级菜单都设为数组
for (i=0; i<select1_len; i++)
{
select2[i] = new Array();
}//定义基本选项
select2[0][0] = new Option("请选择", " ");select2[1][0] = new Option("PHP", " ");
select2[1][1] = new Option("ASP", " ");
select2[1][2] = new Option("JSP", " ");select2[2][0] = new Option("C/C++", " ");
select2[2][1] = new Option("Java", " ");
select2[2][2] = new Option("C#", " ");select2[3][0] = new Option("Perl", " ");
select2[3][1] = new Option("Ruby", " ");
select2[3][2] = new Option("Python", " ");//联动函数
function redirec(x)
{
var temp = document.frm.s2; temp.length=0; //--新加
temp.options.length=select2[x].length; // --新加
for (i=0;i<select2[x].length;i++)
{
temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
}
temp.options[0].selected=true;
}</script>加上提交按钮后,点击提交也不能显示s2的内容,只能显示s2默认的"请选择"