使用js获取复选框的值,并把数组传回后台处理,过程使用的是Ajax异步查询
Posted syfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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();
}
}
这是结果截图:
以上是关于使用js获取复选框的值,并把数组传回后台处理,过程使用的是Ajax异步查询的主要内容,如果未能解决你的问题,请参考以下文章
form表单传递数组到后台之后,后台怎么提取这个数组里面的值进行判断?