jq 完成复选框的全选和全不选,并组装成数组发送到后台
jQuery 代码实现,HTML dom节点对应js的id 即可
<script> $(function() { //复选框全选和全不选 $("#selectAll").click(function() { $(":checkbox[name='item']").prop("checked", this.checked); // this指代的你当前选择的这个元素的JS对象 }) }) //将checkbox获取选中的值转成数组 function selectCheckbox(){ var obj=$("input[name='item']"); arr = []; for(k in obj){ if(obj[k].checked) arr.push(obj[k].value); } return arr; } //保存数据 function saveData(){ var selectArray = selectCheckbox(); $.ajax({ url:"dealxxxx.jsp", data:{selectArray:selectArray}, dataType:"json", traditional:true, success:function(res){ if(res=="000"){ alert("OK"); location.reload(); }else{ alert("error"); location.reload(); } }, error:function(){ alert("error"); location.reload(); } }) } </script>
后台接收数组对象值
dealxxxx.jsp 使用jsp内置的request对象来获取
String[] selectArray = request.getParameterValues("selectArray");
总结ajax 发送请求后台处理成功但返回error 的问题
- 返回数据类型不是JSON
- 网络中断
- 后台响应中断
- 是否为跨域请求
- jquery版本过高导致数组对象传输时每个值都当作一个数组的问题,解决办法:traditional:true