jquery,ajax 如何提交多个checkbox的值?

jquery+struts2-----------------------------funtionsubmitCheckbox(){$.ajax({type:"GET"... jquery + struts2
-----------------------------
funtion submitCheckbox(){
$.ajax( {
type : "GET",
url : "......",
data : ? ? ? ? ?,
success : function(data) {
}
});
}
-------------------------
<input type="checkbox" class="check" id=''check1" value="1"/>
<input type="checkbox" class="check" id=''check2" value="2"/>
<input type="checkbox" class="check" id=''check3" value="3"/>
<input type="checkbox" class="check" id=''check4" value="4"/>
<input type="checkbox" class="check" id=''check5" value="5"/>
<input type="checkbox" class="check" id=''check6" value="6"//>
:
:
------------------------------------
在Action中定义一个List或数组:
List<String> list; 或 String[] arr;

-------------------------------------
怎么写才能将选中的checkbox的值传人Action中并赋给list或arr?

我不想在js里循环拼接参数:=1&=2&=3&=4&=5&=6... 还有没有其他的办法。
展开
 我来答
大野瘦子
高粉答主

2018-12-21 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.1万
展开全部

<input type="checkbox" name="student" value="1" data-age="18" />

<input type="checkbox" name="student" value="2" data-age="19" />

<input type="checkbox" name="student" value="3" data-age="20" />

var student = $("input[name='student']:checked").serialize();

$.ajax({

url: "your-url",

type: "post",

data: student,

success: function (result) {

//handle

}

});

如果3个都是选中的状态的话,后台接收的数据为1,2,3

扩展资料:

关于jQuery对checkbox的其他操作

1、根据id获取checkbox

$("#cbCheckbox1");

2、获取所有的checkbox

$("input[type='checkbox']");//or

$("input[name='cb']");

3、获取所有选中的checkbox

$("input:checkbox:checked");//or

$("input:[type='checkbox']:checked");//or

$("input[type='checkbox']:checked");//or

$("input:[name='ck']:checked");

4、获取checkbox值

//用.val()即可,比如:

$("#cbCheckbox1").val();

5、获取多个选中的checkbox值

var vals = [];

$('input:checkbox:checked').each(function (index, item) {

vals.push($(this).val());

});

6、判断checkbox是否选中(jquery 1.6以前版本 用  $(this).attr("checked"))

$("#cbCheckbox1").click(function () {

if ($(this).prop("checked")) {

alert("选中");

} else {

alert("没有选中");

}

});

7、设置checkbox为选中状态

$('input:checkbox').attr("checked", 'checked');//or

$('input:checkbox').attr("checked", true);

8、设置checkbox为不选中状态

$('input:checkbox').attr("checked", '');//or

$('input:checkbox').attr("checked", false);

9、设置checkbox为禁用状态(jquery<1.6用attr,jquery>=1.6建议用prop)

$("input[type='checkbox']").attr("disabled", "disabled");//or

$("input[type='checkbox']").attr("disabled", true);//or

$("input[type='checkbox']").prop("disabled", true);//or

$("input[type='checkbox']").prop("disabled", "disabled");

10、设置checkbox为启用状态(jquery<1.6用attr,jquery>=1.6建议用prop)

$("input[type='checkbox']").removeAttr("disabled");//or

$("input[type='checkbox']").attr("disabled", false);//or

$("input[type='checkbox']").prop("disabled", "");//or

$("input[type='checkbox']").prop("disabled", false);

wang54526
2011-09-07 · 超过26用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:56.2万
展开全部
你 <input type="checkbox" class="check" id=''check6" name="checks" value="6"/>
都给他加个name="checks" 在action 中定义个 String[] checks;顺便生成get/set方法 其余的就不用了 他是自动获取你选中的值
更多追问追答
追问
我没用form标签 也没用struts标签 也不是submit提交,这样估计不行吧。
追答


1

2

3

4

$(document).ready(function(){
//button(id=Submit) 触发click事件
$("#Submit").click(function(){
var chenked=$("input[type='checkbox']:checked").val([]);//此为重点
for(var i=0;i
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北极圈
2015-09-28 · 超过17用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:26.4万
展开全部
<input type="checkbox" name="student" value="1" data-age="18" />
<input type="checkbox" name="student" value="2" data-age="19" />
<input type="checkbox" name="student" value="3" data-age="20" />

var student = $("input[name='student']:checked").serialize();
$.ajax({
url: "your-url",
type: "post",
data: student,
success: function (result) {
//handle
}
});

如果3个都是选中的状态的话,后台接收的数据为1,2,3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eadio
2015-09-18 · TA获得超过1610个赞
知道小有建树答主
回答量:962
采纳率:80%
帮助的人:1011万
展开全部

jq获取多个checkbox的值的方法:

<form name="fm" action="">

<input type="checkbox" name="checkbox" value="1" />1

<input type="checkbox" name="checkbox2" value="2" />2

<input type="checkbox" name="checkbox3" value="3" />3

<input name="checkbox4" type="checkbox" value="4" />4

<input type="button" id="btn" value="提交" />

</from>


<script type="text/javascript">

$(document).ready(function(){

$("#btn").click(function(){


//第一种方案,直接获取数组值

  /*var chenked=$("input[type='checkbox']:checked").val([]);//获取提交的表单下input为复选框所有选中的数组值

 for(var i=0;i<chenked.length;i++){    //循环值

 alert(chenked[i].value);

 }*/


//第二种方案,获取复选框对象数组,

var ck = $("input[type='checkbox']:checked")    //获取选中的复选框数组

var ckVal = "";

for(var i = 0; i<ck.length; i++){

  //alert($(ck[i]).val())//循环得到当前选择的值

ckVal += $(ck[i]).val() + ",";

}

alert(ckVal)


});

});

</script>

效果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
name_ouyiping
2011-09-08 · 超过79用户采纳过TA的回答
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:117万
展开全部
//删除
function delitmc(){
//定义一个字符串用来编接checkbox的值,一般来说就是id了
var str="";
//我在页面定义的checkbox都有一个属性class="checki'"
//下面就是获取class='checkit' 的所有值,以逗号进行字符编接
$("[class='checkit'][checked]").each(function(){
str+=$(this).val()+",";
}
)
//这个str就是你编接的checkbox选中的值,如果空则 表示没选
//不空,则表示有多个或则一个咯
if(str==""){
alert("您必须选择一条记录进行删除操作!");
return ;
}else{
$.ajax({
type: "POST",
url: "/cb/cityBaseInfAction!delItSaleField.action?disId="+str,
success: function(json) {
if(json){
alert("删除信息成功!");
}else{
alert("删除信息失败!");
}
query1("","",1);
}
});
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式