还有一个更麻烦的事。我不知道怎么描述。不知道这样描述你能知道我要的意思不。我先描述一下。比如这样: 
有三行是频段开关1,频段开关2,频段开关3,是下拉框值为ON/OFF,再下面又有三行也是下拉框频段1,频段2,频段3对应。不过值可能是(A,B,C,D,A&E,B&F,A&C,B&Z,C&E,E,F,Z,G中的全部或者部分) 原因是这样子:当开关都全是ON的时候这个时候如果频段1选了A,那么2,3就不能选有A的。也就是此时最好2,3下拉框的内容不能有A,A&E,A&C,这样的值供选择,同时如果2选了A,1,3也不能选同理。选了B另外两个也不能出现有B的,当开关是OFF的时候。比如频段开关1是OFF,对应的频段1可以任意选,其它两开关还是ON那另外两还这前的规则,假如这个时候2,3选的是B,A&C,如果这个设置频段开关1从OFF到ON。这个时候如果频段1的值A,这个时候打开开关就要提示不能打开。 
需求就这么样。有点复杂。看有高人来帮解决不。QQ:282567546。怕没有说清。可以直接聊。谢谢。 

解决方案 »

  1.   

    <head>
        <title>test</title>
        <script language="javascript">
            var optionvalue =['A','B','C','D','A&E','B&F','A&C','B&Z','C&E','E','F','Z','G'];
            var needValue=[];
            var needValueSecond=[]
            function getOptionValue(str){
                needValue=[];
                for(var i=0;i<optionvalue.length;i++){
                    if(optionvalue[i].indexOf(str)==-1){
                        needValue[needValue.length]=optionvalue[i];
                    }
                }
            }
            function getOptionValueSecond(str){
                needValueSecond=[];
                for(var i=0;i<needValue.length;i++){
                    if(needValue[i].indexOf(str)==-1){
                        needValueSecond[needValueSecond.length]=needValue[i];
                    }
                }
            }
            function setoptionA(){
                var selA=document.getElementById("swichA");
                var selB=document.getElementById("swichB");
                var selC=document.getElementById("swichC");
                var sel1=document.getElementById("swich1");
                var sel2=document.getElementById("swich2");
                var sel3=document.getElementById("swich3");
                if(!!parseInt(selA.value)){
                    getOptionValue(sel1.options[sel1.value].text);
                    sel2.options.length=0;
                    for(var i=0;i<needValue.length;i++){
                        sel2.options[i]=new Option(needValue[i],i);
                    }
                    getOptionValueSecond(sel2.options[sel2.value].text);
                    sel3.options.length=0;
                    for(var i=0;i<needValueSecond.length;i++){
                        sel3.options[i]=new Option(needValueSecond[i],i);
                    }             
                }
            }
            function setoptionB(){
                var selA=document.getElementById("swichA");
                var selB=document.getElementById("swichB");
                var selC=document.getElementById("swichC");
                var sel1=document.getElementById("swich1");
                var sel2=document.getElementById("swich2");
                var sel3=document.getElementById("swich3");
                if(!!parseInt(selB.value)){
                    getOptionValue(sel2.options[sel2.value].text);
                    sel1.options.length=0;
                    for(var i=0;i<needValue.length;i++){
                        sel1.options[i]=new Option(needValue[i],i)
                    }
                    getOptionValueSecond(sel1.options[sel1.value].text);
                    sel3.options.length=0;
                    for(var i=0;i<needValueSecond.length;i++){
                        sel3.options[i]=new Option(needValueSecond[i],i);
                    }
                }
            }
            function setoptionC(){
                var selA=document.getElementById("swichA");
                var selB=document.getElementById("swichB");
                var selC=document.getElementById("swichC");
                var sel1=document.getElementById("swich1");
                var sel2=document.getElementById("swich2");
                var sel3=document.getElementById("swich3");
                if(!!parseInt(selC.value)){
                    getOptionValue(sel3.options[sel3.value].text);
                    sel1.options.length=0;
                    for(var i=0;i<needValue.length;i++){
                        sel1.options[i]=new Option(needValue[i],i)
                    }
                    getOptionValueSecond(sel1.options[sel1.value].text);
                    sel2.options.length=0;
                    for(var i=0;i<needValueSecond.length;i++){
                        sel2.options[i]=new Option(needValueSecond[i],i);
                    }
                }
            }
            window.onload=function(){
               
            }
     
        </script>
    </head>
    <body >
        <select id="swichA" onchange="setoptionA()">
            <option value=1>On</option>
            <option value=0 selected>Off</option>
        </select>
        <select id="swichB" onchange="setoptionB()">
            <option value=1>On</option>
            <option value=0 selected>Off</option>
        </select>
        <select id="swichC" onchange="setoptionC()">
            <option value=1>On</option>
            <option value=0 selected>Off</option>
        </select></br>    <select id="swich1" onchange="setoptionA()">
            <option value="0">A</option>
            <option value="1">B</option>
            <option value="2">C</option>
            <option value="3">D</option>
            <option value="4">A&E</option>
            <option value="5">B&F</option>
            <option value="6">A&C</option>
            <option value="7">B&Z</option>
            <option value="8">C&E</option>
            <option value="9">E</option>
            <option value="10">F</option>
            <option value="11">Z</option>
            <option value="12">G</option>
        </select>
        <select id="swich2" onchange="setoptionB()">
            <option value="0">A</option>
            <option value="1">B</option>
            <option value="2">C</option>
            <option value="3">D</option>
            <option value="4">A&E</option>
            <option value="5">B&F</option>
            <option value="6">A&C</option>
            <option value="7">B&Z</option>
            <option value="8">C&E</option>
            <option value="9">E</option>
            <option value="10">F</option>
            <option value="11">Z</option>
            <option value="12">G</option>
        </select>
        <select id="swich3" onchange="setoptionC()">
            <option value="0">A</option>
            <option value="1">B</option>
            <option value="2">C</option>
            <option value="3">D</option>
            <option value="4">A&E</option>
            <option value="5">B&F</option>
            <option value="6">A&C</option>
            <option value="7">B&Z</option>
            <option value="8">C&E</option>
            <option value="9">E</option>
            <option value="10">F</option>
            <option value="11">Z</option>
            <option value="12">G</option>
        </select>
    </body>
    </html>