一、复选框选中、反选、全选、全不选
html代码:
<input type='checkbox' name='menuCheckBox' value='10' >苹果 <input type='checkbox' name='menuCheckBox' value='20' >香蕉
JS 选中某个复选框:
$("input:checkbox[name='menuCheckBox'][value='10']").each(function () {
this.checked = true;
})
JS 反选某个复选框(选中就反选为不选中,没选中就反选为选中):
$("input:checkbox[name='menuCheckBox'][value='10']").each(function () {
this.checked = !this.checked;
})
JS 全选复选框:
$("input:checkbox[name='menuCheckBox']").each(function () {
this.checked = true;
})
JS 全不选复选框:
$("input:checkbox[name='menuCheckBox']").each(function () {
this.checked = false;
})
JS 获取复选框选中的值:
var menuArr = [];
$("input:checkbox[name='menuCheckBox']").each(function () {
if(this.checked){
menuArr.push($(this).attr("value"));
}
})
二、前端Ajax请求代码,包含数组参数
var param = {}; var menuArr = new Array(); $("input:checkbox[name='menuCheckBox']").each(function () { if(this.checked) { menuArr.push($(this).attr("value")); } }); param["menuArr"] = menuArr; //请求数组参数,参数对象:menuArr param["menuList"] = menuArr; //请求数组参数,参数对象:menuList $.ajax({ url: "/saveXXX", type:"POST", dataType: "json", //这个很重要! data: param, success: function(result, textStatus, jqXHR){ //请求成功! } });
三、springMvc后台接收数组参数
@RequestMapping("/user/saveAccountMenuWeb") @ResponseBody //返回json到前端,而不是让前端跳转到新页面 public String saveAccountMenuWeb( ,@RequestParam(value = "menuArr[]",required=false ) String[] menuArr ,@RequestParam(value = "menuList[]",required=false) List menuList){ //required=false 是因为允许提交一个空数组作为接收参数,因为有时候用户真的是什么都没选 LOG.info("能接收到参数哦!!menuArr=="+JSONObject.toJSONString(menuArr)); LOG.info("也!能接收到参数哦!!menuList=="+JSONObject.toJSONString(menuList)); Map map = new HashMap(); map.put("flag","success"); return map; }