jQuery结果为$ .post

Kri*_*s-I 1 jquery

在页面上,我有几个复选框,每个的ID都不同.复选框的数量不固定,可能是一个,4个,10个......我想获得所有的ID并通过$ .post发送它们.

我怎样才能做到这一点 ?

谢谢,

更新1:

var jqxhr = $.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(":checkbox").serialize(),
    fileld2: $("#fileld2").val()
},
function (data) {
})
.success(function () {
})
.error(function (jqXHR, status, error) {
})
.complete(function () {

});
Run Code Online (Sandbox Code Playgroud)

我在控制器中看不到"有益"的任何价值......而且它是我需要的所选复选框的"id"

Edg*_*ado 6

做这个:

$.post('your_url', $(":checkbox").serialize() );
Run Code Online (Sandbox Code Playgroud)

例如name="myCheckbox[]",如果您的复选框具有相同的名称,则可以执行以下操作:

$.post('your_url', $(":checkbox[name='myCheckbox[]']").serialize() );
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

编辑:您的更新1的解决方案:

$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(":checkbox:checked").attr("id"),
    fileld2: $("#fileld2").val()
},
...
Run Code Online (Sandbox Code Playgroud)

这将做你要求的..但是,你确定它总是只有1个复选框.选择?如果您需要超过1个(我几乎可以肯定您这样做),您需要以哪种格式发送它们?用逗号分隔的ID?

要发送所有以逗号分隔的已检查ID,您可以执行以下操作:

$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(':checkbox:checked').map(function() { return this.id; }).get().join(','),
    fileld2: $("#fileld2").val()
},
...
Run Code Online (Sandbox Code Playgroud)

干杯