我用java要做个批量删除。删除方法和全选处理已经写好了。
删除方法del(params),params是数组,这个是js方法;
全选selectAll()。
复选框是这样的(值为主键)
“<input type="checkbox" name="selectFlag" 
  value="<bean:write name='obj' property='serialno'/>" tyle="border: 0px;">”。
我的问题是我该怎么把选中的复选框的值放到一个数组中传递到del(params)中???
有哪位高手能指点一下啊。

解决方案 »

  1.   

    var strs = document.getElementsByName("selectFlag");
    var objarray = strs.length;
    var mymessage = new Array();
    for (i = 0; i < objarray; i++) {
    if (strs[i].checked == true) {
        mymessage = strs[i].value.split(",");
      }
    }
    mymessage 这个就是你要的数组
      

  2.   

    那我需要在哪个地方调用这个方法吗?还是直接可以把这个mymessage传递到我的删除方法del(params)中?
      

  3.   

    这是我的js删除方法
    function del(a){
    if(confirm("确认删除吗?")){       
        window.location.href="<%=request.getContextPath()%>/emapSmMtSendAction.do?op=delete&idStr="+a;
       }
       else{   
        return;
       }
    }
      

  4.   

    你这样就是传递字符串 
    function del(a){
    if(confirm("确认删除吗?")){ 
    //a = mymessage.join(','); 把a当字符串传递过去
      window.location.href="<%=request.getContextPath()%>/emapSmMtSendAction.do?op=delete&idStr="+a;
      }
      else{ 
      return;
      }
    }或者提交表单,如果用表单提交只用传递多选框的名字,后台用数组接受就行
      

  5.   

        function a()
        {
       
         var s=document.getElementsByName("selectFlag");
         var arr=new Array()
         for(var i=0;i<s.length;i++)
         {
           if(s[i].checked)
           {
             arr[i]=s[i].value;
           }
         }
         return arr;
        }