如何在 jquery 中 select 其名称为数组的元素?
how to select elements which their names are array in jquery?
如何通过 ajax:
获取这些元素的值并将它们 post 作为数组
<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
var items = $("input[type=checkbox][name^=Broadcast]"), values = [];
items.each(function(){
values.push([$(this).attr("name"),$(this).is(":checked")]);
});
console.log(values);
抱歉之前打错了,这里是fiddle给你的
fiddle
您可以使用 serialize
方法在您的 html 中执行 this.first 将值添加到复选框并删除 [] 内的任何内容并为每个复选框设置 name='Broadcast[]'
。
$.ajax({
type:"post",
url:'your url',
data:$("form").serialize(),
success:function(data){
//do stuff here
}
});
试试这个:
首先将您的输入名称更改为简单的名称="Broadcast[]"
<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
}
});
希望对您有所帮助。
如何通过 ajax:
获取这些元素的值并将它们 post 作为数组<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
var items = $("input[type=checkbox][name^=Broadcast]"), values = [];
items.each(function(){
values.push([$(this).attr("name"),$(this).is(":checked")]);
});
console.log(values);
抱歉之前打错了,这里是fiddle给你的 fiddle
您可以使用 serialize
方法在您的 html 中执行 this.first 将值添加到复选框并删除 [] 内的任何内容并为每个复选框设置 name='Broadcast[]'
。
$.ajax({
type:"post",
url:'your url',
data:$("form").serialize(),
success:function(data){
//do stuff here
}
});
试试这个:
首先将您的输入名称更改为简单的名称="Broadcast[]"
<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
}
});
希望对您有所帮助。