使用js获取复选框的值,并把数组传回后台处理,过程使用的是Ajax异步查询

这是界面代码:

function shua(){        
     var id_array=new Array();  
       $('input[id="checkAll"]:checked').each(function(){  
       id_array.push($(this).val());//向数组中添加元素  
       });  //获取界面复选框的所有值
        
      var chapterstr = id_array.join(',');//把复选框的值以数组形式存放

    
        $.ajax({
                //几个参数需要注意一下
                type: "POST",//方法类型
                dataType: "json",//表示的数据格式,这里是json格式
                url: "<%=path%>/biz/PayServlet?m=yibu", 
                data:{"chapterstr":chapterstr},//表示提交数据的具体内容
                success: function (bjz) {//表示服务端成功响应
                    alert("所需缴纳金额为:"+bjz);
                    //window.location.reload();//刷新界面
                    
                },
                error : function() {//表示服务端响应不成功
                    alert("查询金额异常!");//弹框提示
                    window.location.reload();//刷新界面
                }
            });
    }

这是后台servlet的代码:

private void yibu(HttpServletRequest request, HttpServletResponse response) throws SQLException {
        try{
        Policy policy = new Policy();
        policy.cha();
        Double bzj = policy.getBzj();//获取年度标准金
        
        String[] arr= request.getParameterValues("chapterstr");//获取js传递过来的数组
        PrintWriter out = response.getWriter();//建立发送对象,用于向前端发送数据
        
        Double bzjr=0.0;//定义循环结果
        
        if(arr==null){
            
            bzj = 0.0;            
            out.println(bzj);//把计算结果发到前端
            out.flush();//大概是停止发送的意思
            out.close();//关闭发送对象
        }else{
            for(int i = 0;i<arr.length;i++){
                //获取过来的数组所有值都在第一个数据里,格式为**,**,**所以需要再次转换为数组再进行金额计算
                String[] values = arr[i].split(",");
                for(int e = 0;e<values.length;e++){
                bzjr=bzj+bzjr;
                
                }
            }            
            out.println(bzjr);//把计算结果发到前端
            out.flush();//大概是停止发送的意思
            out.close();//关闭发送对象
        }        
                                                        
        }catch(Exception e){
                         
             System.out.println("异常:"+e);
             e.printStackTrace();
        }
                                            
    }

这是结果截图:

猜你喜欢

转载自www.cnblogs.com/syfy/p/10852335.html