使用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();
        }
                                            
    }

這是結果截圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM