需求:
JQuery 获取选中多选框的value,合并成数组传给后台
在ajax请求的时候,需要给后端传一个参数 deviceId,这个 deviceId是一个list集合,也就是一个数组,需要把选中的几个数值放在这个数组里面,当做参数传递。
简单的例子:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>JQuery 获取选中多选框的value,合并成数组传给后台</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
<style>
</style>
</head>
<body>
<div class="leftType">
<p>
<input name="person" type="checkbox" value="1" checked='checked' />员工
</p>
<p>
<input name="person" type="checkbox" value="2" checked='checked' />访客
</p>
<p>
<input name="person" type="checkbox" value="3" checked='checked' />车辆
</p>
<p>
<input name="person" type="checkbox" value="4" checked='checked' />承包商
</p>
</div>
<button type="submit" id="submit">提交</button>
</body>
<script type="text/javascript">
$("#submit").click(function() {
var arr = new Array();
$("input:checkbox[name='person']:checked").each(function() {
arr.push($(this).val()); //向数组中添加元素
}); //获取界面复选框的所有值
arrType = arr.join(','); //把复选框的值以数组形式存放
alert(arrType);
$.ajax({
url: "test.json",
data: {
//deviceId : [1,2,3,4]
deviceId: arrType,
},
type: "GET",
success: function(data) {},
error: function(err) {
console.log(err);
}
})
})
</script>
</html>