如何在 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
    }

});

希望对您有所帮助。