第一个下拉框:<select name="source" class="field" onchange="chShow()">
         <option value="1">web</option>
         <option value="-2">imp</option>
</select>
-------------------------------------
第二个下拉框:
<select name="operator" class="f">
         <option value="<%=operID %>">*${stringEscape:escapeHtml(OPERNAME) }</option>
         <c:forEach items="${operList}" var="oper">
         <option value="${oper.operatorid}" title="${stringEscape:escapeHtml(oper.opername)}">${stringEscape:escapeHtml(oper.opername)}</option>
         </c:forEach>
         <option value="-2">imp</option>
        </select>
------------------------
1、用第一个下拉框控制第二个的值。方法chShow();
2、source=1 时  第二个下拉框里只能有<option value="-2">imp</option>这个值
3、source=-2 时  第二个下拉框里  不 能有<option value="-2">imp</option>这个值我试了好几种方法,总不能十全十美。妹纸道行太浅了!不是记不住下拉框里面的值,就是移除不了,要么就是刷新一次 下拉框就变短了。。各位大神,,,,请出手吧,,,,Webselect

解决方案 »

  1.   

    1,source 改变 提交后台,刷新页面,或ajax提交重新生成
    2,operator 的数据不多可以 先全部生成 JS数组,由JS来生成
      

  2.   


    首先:你要保证能够收到source 的value
    其次:新建一个list来保存operator的value值,每次根据source筛选数据都操作完整的operator,数据筛选完后后赋值给list;
      

  3.   


    首先:你要保证能够收到source 的value
    其次:新建一个list来保存operator的value值,每次根据source筛选数据都操作完整的operator,数据筛选完后后赋值给list;唉
      

  4.   


    首先:你要保证能够收到source 的value
    其次:新建一个list来保存operator的value值,每次根据source筛选数据都操作完整的operator,数据筛选完后后赋值给list;唉
      

  5.   

    2级联动,2种情况 把值写成2个数组,,
    然后判断 1,2, 对应对应的数组装进 第二个select就可以啦;
    最懒的方法就是 写2个第二个 select, 里面的 选项对应2种情况;;
    选择1,第二个select 显示,第三个隐藏;
    选择2,第三个显示,第二个隐藏;
    这个懒方法 都把我笑哭了。
      

  6.   

    //你先保存份你后台的option 吧
    var optArr=[];
    <c:forEach items="${operList}" var="oper" varStatus="s">
    optArr[${s.index}]={};
    optArr[${s.index}].name=${oper.opername};
    optArr[${s.index}].value=${oper.operatorid};
     
     </c:forEach>function chShow(e){
    if(e=='1'){
    var x=document.getElementById("第二个下拉框")
    //循环删除然后append  <option value="-2">imp</option>
     
    }
    if(e=='-2'){
     //operator
      var x=document.getElementById("第二个下拉框")
     //循环如果当前的value是-2 删除
      x.remove(x.selectedIndex)
    }<select name="source" class="field" onchange="chShow(this.vale)">
          <option value="1">web</option>
          <option value="-2">imp</option>
    </select>
      

  7.   

    写了个例子你参考下<form name="f1" >
    <select   name="source" class="field" onchange="chShow(this)">
             <option value="1">web</option>
             <option value="-2">imp</option>
    </select>
     
    <select name="operator" class="f">
             <option value="1">1</option>
             <option value="2">2</option>
             <option value="-2">imp</option>
    </select>
    </form>
     
     
     <script>
      var f=document.forms['f1'];
      var ds=[];
      function chShow(){
        f.operator.length=0;
       if( f.source.value==1){
         for(var i=0;i<ds.length;i++)
           f.operator.options.add( new Option( ds[i].t,ds[i].v ) )
       }else{
        f.operator.options.add( new Option( 'imp',-2) )
       }
      } 
       window.onload=function(){
        var opts=f.operator.options;
      for(var i=0;i< opts.length;i++){
       opts[i].value!='-2'&&ds.push( { t: opts[i].text,v:opts[i].value   } )
      }
       }
     </script>
      

  8.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://www.apobates.com/js/jquery.js"></script>
    <title>无标题文档</title>
    </head><body>
    <select  name="source" class="field">
             <option value="1">web</option>
             <option value="-2">imp</option>
    </select><select name="operator" class="f">
    <option value="">==plase choose==</option>
                <option value="100">100</option>
             <option value="200">200</option>
                <option value="200">300</option>
                <option value="400">400</option>
                <option value="500">500</option>         <option value="-2">imp</option>
    </select>
    <script type="text/javascript">
    jQuery(function($){
    $('.field').change(function(){
    if($(this).val() == '1'){
    $('.f').find('option').show();
    $('.f').find('option[value!=-2]').hide();
    }

    if($(this).val() == '-2'){
    $('.f').find('option').show();
    $('.f').find('option[value=-2]').hide();
    }
    });
    });
    </script>
    </body>
    </html>引用一个jquery.js