首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于JS 联动,下拉框选项前前后后选择个数不同

2013-11-21 
关于JS 联动,下拉框选项前后选择个数不同 或者直接看后面的问题 我向贴上我的代码,各位可运行一下。2、在选

关于JS 联动,下拉框选项前后选择个数不同
 或者直接看后面的问题 我向贴上我的代码,各位可运行一下。



2、在选这个

关于JS 联动,下拉框选项前前后后选择个数不同

3、最后选择呢 学号,下拉框多呢几个。  多余的下拉选项是怎么产生的,求解决之道。 
关于JS 联动,下拉框选项前前后后选择个数不同

? js联动 js联动下拉框选项不一致
[解决办法]
<html> 
<head> 
    <title>This is a test!</title> 
</head> 
<body> 
<form name="frm"> 
    <select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)"> 
    <option value="id" selected>学号</option> 
    <option value="name">姓名</option> 
    <option value="age">年龄</option> 
</select> 
<select name="s2"> 
 
</select> 
<input type="submit" value="查询"/>
</form> 
    <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("包含", "contain"); 
    select2[0][1] = new Option("等于", "equal"); 
 
    select2[1][0] = new Option("包含", "contain"); 
    select2[1][1] = new Option("等于", "equal"); 
     
 
    select2[2][0] = new Option(">", ">"); 
    select2[2][1] = new Option("=", "="); 
    select2[2][2] = new Option("<", "<"); 
    select2[2][3] = new Option("<=", "<=");
    select2[2][4] = new Option(">=", ">="); 
    //联动函数 
    function redirec(x) 
    { 


         
        var temp = document.frm.s2; 
temp.length=0;
        for (i=0;i<select2[x].length;i++) 
        {
            temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
        } 
        alert("x:"+x+"  select2["+x+"].length:"+select2[x].length);
        temp.options[0].selected=true; 
    } 
    </script> 
</body> 
</html>
[解决办法]

<form name="frm">
    <select name="s1" onChange="redirec(this.options.selectedIndex)">
        <option value="id" selected>学号</option>
        <option value="age">年龄</option>
        <option value="name">姓名</option>
    </select>
    <select name="s2" id="s2"></select>
    <input type="submit" value="查询"/>
</form>
<script language="javascript">
    var arr = [
        {"contain":"包含","equal":"等于"},
        {">":">","=":"=","<":"<","<=":"<=",">=":">="}
    ];
    function redirec(x){
        x = x==1?1:0;
        var s2 = document.getElementById("s2");//规范点
        s2.options.length = 0;//清空下拉菜单
        var obj = arr[x];
        for(var k in obj){
            s2.options.add(new Option(obj[k],k));
            //新增下拉菜单,默认已经选中第一项
        }
    }
    redirec(0);
</script>

热点排行