2个表,左右个一个表,每次点增加都会提交,然后select从表里读出字段

解决方案 »

  1.   

    还没有学习structs,
    不过,你说的这个好象可以用javascript实现移动吧?
    说错了别怪我。下面是2个select间的类似你说的那种移动的东东,
    以前写的代码,要我现在分析,估计够戗了。
    如果有耐心的话,你看看吧,应该有点帮助吧?这里面是一个select,两个list。
    多余的你不看就可以了。<script language="javascript">
    N = (document.all) ? 0 : 1;
    //下拉框与列表框中的数据对应
    function changes(leng){
      myform=document.form1;
      for(i=0;i<leng;i++){
        if(myform.orgsel[i].selected){
          myform.theid.value=myform.orgsel[i].value;
        }
      }
      for (i = myform.besel.options.length - 1; i >= 0; i--){
        if(N){
          myform.besel.options[i].selected = true;
        }else{
          myform.besel.options(i).selected = true;
        }
      }
      for (i = myform.cansel.options.length - 1; i >= 0; i--){
        if(N){
          myform.cansel.options[i].selected = false;
        }else{
          myform.cansel.options(i).selected = false;
        }
      }
      combininfo();
      myform.action="joiner.jsp";
      myform.submit();
    }//关闭窗口并改变父窗口人员选择信息
    function setback(){
      myform=document.form1;
      for(yy=0;yy<myform.besel.length;yy++){
        myform.besel[yy].selected=true;
      }
      combininfo();
      var aaaa=document.form1.combinname.value;
      var bbbb="";
      if(aaaa.length>0){
        bbbb=aaaa.substring(0,aaaa.length-1);
      }
      opener.document.form1.joiner.value=bbbb;
      opener.document.form1.combinid.value=document.form1.combinid.value;
      opener.document.form1.combinname.value=document.form1.combinname.value;
      window.close();
    }//删除
    function removeReceiver(){
      myform = document.form1;
      for (i = myform.besel.options.length - 1; i >= 0; i--) {
        if(N){
          var selectValue = myform.besel.options[i].selected;
        }else{
          var selectValue = myform.besel.options(i).selected;
        }
        if (selectValue == true) {
          myform.besel.remove(i);
        }
      }
    }//组合人员选择信息
    function combininfo(){
      document.form1.combinid.value="";
      document.form1.combinname.value="";
      for(m=0;m<myform.besel.options.length;m++){
        document.form1.combinid.value=document.form1.combinid.value+myform.besel.options[m].value+",";
        document.form1.combinname.value=document.form1.combinname.value+myform.besel.options[m].text+",";
      }
    }function addSelect(Form){
      var left = Form.cansel.length;
      var agree = true,peragree = true;
      for( i = 0 ; i < left ;i++ ){
        if(  Form.cansel[i].selected == true ){
          agree = true;
          for( k = 0 ; k < Form.besel.length ; k++){
            if(  Form.besel[k].value == Form.cansel[0].value ){
              agree = false;
              break;
            }
          }
          peragree = true;
          if( i == 0 ){
            for( x = 1 ;x < left ;x++ ){
              right = Form.cansel[x].value;
              for( y = 0 ;y < Form.besel.length ;y++ ){
                if( right == Form.besel[y].value)
                  peragree = false;
              }
            }
          }
          if( agree && peragree ){
            var find = 0;
            target = Form.besel.length;
            for( j = 0 ; j < target ; j++){
              if(  Form.besel[j].value == document.form1.cansel[i].value )
                find = find + 1;
            }
            if( find == 0 ){
              Form.besel.length = Form.besel.length + 1;
              Form.besel[target].text  = Form.cansel[i].text;
              Form.besel[target].value = Form.cansel[i].value;
            }
          }
        }
      }
    }
    </script>
      

  2.   

    对了,想起了一个地方,看看是不是能完成你要的功能,如果是,你把它的代码改了就可以了,我当时就是根据那个改的。http://www.ioffice2000.com.cn/ioffice/logon.jsp进去之后,点我的日程,点下面那个新建,点高级设定,点同时预约他人,然后就是类似你要求的处理画面了。
      

  3.   

    我考,阿郎给的东东我看到了,多谢,不过也太复杂了,想当初用.net的时候也没那么复杂,而现在用jsp还要来个struts,自己定义了一个标签库,做这点东西可真费劲
      

  4.   

    呵呵,偶也差不多属于新手类的,而且,不知道struts,但想想认为可能对你有用,就帖出来了。要是有比较简单的方法,偶也学学。:)