[Ajax] 如何使用Ajax传递多个复选框的值

HTML+JavaScript代码:

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="UTF-8">
 6         <title>选择复选框</title>
 7         
 8         <!--导入jQuery包-->
 9         <script type="text/javascript" src="js/jquery-1.6.js" ></script>
10     </head>
11 
12     <body>
13         <!--
14             保持同样的name属性,
15             value属性仍然可以使用 <%#Eval("id")%> 
16             这里直接写上作为例子
17         -->
18         <input type="checkbox" name="checkbox1" runat="server" value="1001" />1001<br />
19         <input type="checkbox" name="checkbox1" runat="server" value="1002" />1002<br />
20         <input type="checkbox" name="checkbox1" runat="server" value="1003" />1003<br />
21         <input type="checkbox" name="checkbox1" runat="server" value="1004" />1004<br />
22         
23         <!--删除按钮,显示选择的复选框的value属性值-->
24         <button id="btndelete">删除</button>
25         
26         <br />
27             后台使用ASP:
28             
29             <pre>
30             //获取String类型的,用逗号分隔
31             String str=Page.Request["deleteId"];
32             
33             //截取为数组
34             String[] delIds=str.split(',');
35             
36             //转换为int,数组长度一致
37             int[] newDelIds=new int[delIds.length];
38             
39             for(int i=0;i<delIds.length;i++){
40                 //执行强转
41                 newDelIds[i]=Integer.parseInt(delIds[i]);
42             }
43             </pre>
44             
45         
46     </body>
47     <script>
48         //所有的复选框控件,通过名字属性获取
49         var checkboxObjs = document.getElementsByName("checkbox1");
50 
51 
52         //删除按钮绑定事件
53         $("#btndelete").click(function() {
54             //定义存储value的数组,初始为空
55             var delVals = [];
56             
57             //找出选中复选框的值
58             for(var i = 0; i < checkboxObjs.length; i++) {
59                 var checkboxObj = checkboxObjs[i]; //遍历的复选框元素
60                 //判断是否有选中
61                 if(checkboxObj.checked) {
62                     //选中的value值添加到数组中
63                     delVals.push(checkboxObj.value);
64                 }
65             }
66             //for循环结束,先打印获取的value是否正确。
67 //            alert(delVals);
68             
69             //判空
70             if(delVals.length<=0){
71                 alert("请选择");
72             }else{
73                 //执行Ajax提交
74                 $.ajax({
75                     url:"",
76                     type:"POST",
77                     traditional: true,//阻止深度序列化,必写
78                     data:{
79                         //删除的value数组
80                         "deleteId":delVals
81                     },
82                     success:function(data){
83                         //回调函数    
84                     }
85                 });
86             }
87         });
88     </script>
89     
90 
91 </html>

 

posted @ 2018-03-13 21:35  1440min  阅读(588)  评论(0编辑  收藏  举报