如何获取这些元素的值并将它们作为数组发布为ajax:
<input type="checkbox" name="Broadcast[m]"/> Members
<input type="checkbox" name="Broadcast[i]"/> IATA agencies
<input type="checkbox" name="Broadcast[n]"/> non-IATA agencies
<input type="checkbox" name="Broadcast[c]"/> Commitees
答案 0 :(得分:1)
var items = $("input[type=checkbox][name^=Broadcast]"), values = [];
items.each(function(){
values.push([$(this).attr("name"),$(this).is(":checked")]);
});
console.log(values);
抱歉以前是错的,这里有一个小提琴 fiddle
答案 1 :(得分:1)
您可以使用serialize
方法执行此操作。首先在html中为复选框添加值并删除[]内的任何内容,并为每个复选框设置name='Broadcast[]'
。
$.ajax({
type:"post",
url:'your url',
data:$("form").serialize(),
success:function(data){
//do stuff here
}
});
答案 2 :(得分:1)
试试这个:
首先将您的输入名称更改为名称=&#34;广播[]&#34;
<input type="checkbox" name="Broadcast[]" value="Members"/> Members
<input type="checkbox" name="Broadcast[]" value="IATA agencies"/> IATA agencies
<input type="checkbox" name="Broadcast[]" value="non-IATA agencies"/> non-IATA agencies
<input type="checkbox" name="Broadcast[]" value="Commitees"/> Commitees
然后在jquery中通过ajax发送数组中的数据,创建一个变量来将所有值映射到数组。
<强> jquery的:强>
var BroadCast = $("input[name='BroadCast\\[\\]']").map(function () { return $(this).val(); }).get();
并将变量BroadCast放入ajax数据中。
$.ajax({
type:"post",
url:'your action url',
data: {BroadCast: BroadCast},
success:function(data){
//do what you want here
}
});
希望这会对你有所帮助。