Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery结果到$.post_Jquery - Fatal编程技术网

jQuery结果到$.post

jQuery结果到$.post,jquery,Jquery,在一个页面上,我有几个复选框,每个复选框的id都不同。复选框的数量不是固定的,可以是1、4、10、。。。我想得到所有的身份证,并通过$.post发送给他们 我该怎么做 谢谢 更新1: var jqxhr = $.post("/Controller/MyAction", { field1: $("#field1").val(), benefic: $(":checkbox").serialize(), fileld2: $("#fileld2").val() }, func

在一个页面上,我有几个复选框,每个复选框的id都不同。复选框的数量不是固定的,可以是1、4、10、。。。我想得到所有的身份证,并通过$.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 () {

});
$.post("test.php", $("#testform").serialize());
我在我的控制器中看不到任何“有益”的值。。。这是我需要的选中复选框的“id”

执行以下操作:

$.post('your_url', $(":checkbox").serialize() );
如果您的复选框具有相同的名称,例如
name=“myCheckbox[]”
,则可以执行以下操作:

$.post('your_url', $(":checkbox[name='myCheckbox[]']").serialize() );
$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(':checkbox:checked').map(function() { return this.id; }).get().join(','),
    fileld2: $("#fileld2").val()
},
...
希望这有帮助

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

$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(":checkbox:checked").attr("id"),
    fileld2: $("#fileld2").val()
},
...
这会满足你的要求。。但是,您确定它总是只有1个复选框吗。挑选出来的?如果您需要超过1个(我几乎肯定您需要),您需要以哪种格式发送它们?用逗号分隔的ID

要发送所有已检查的ID(用逗号分隔),请执行以下操作:

$.post('your_url', $(":checkbox[name='myCheckbox[]']").serialize() );
$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(':checkbox:checked').map(function() { return this.id; }).get().join(','),
    fileld2: $("#fileld2").val()
},
...
干杯

这样做:

$.post('your_url', $(":checkbox").serialize() );
如果您的复选框具有相同的名称,例如
name=“myCheckbox[]”
,则可以执行以下操作:

$.post('your_url', $(":checkbox[name='myCheckbox[]']").serialize() );
$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(':checkbox:checked').map(function() { return this.id; }).get().join(','),
    fileld2: $("#fileld2").val()
},
...
希望这有帮助

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

$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(":checkbox:checked").attr("id"),
    fileld2: $("#fileld2").val()
},
...
这会满足你的要求。。但是,您确定它总是只有1个复选框吗。挑选出来的?如果您需要超过1个(我几乎肯定您需要),您需要以哪种格式发送它们?用逗号分隔的ID

要发送所有已检查的ID(用逗号分隔),请执行以下操作:

$.post('your_url', $(":checkbox[name='myCheckbox[]']").serialize() );
$.post("/Controller/MyAction", {
    field1: $("#field1").val(),
    benefic: $(':checkbox:checked').map(function() { return this.id; }).get().join(','),
    fileld2: $("#fileld2").val()
},
...
Cheers

您可以使用jQuery函数从表单中获取表单字段值,然后通过jQuery发送

例如:

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 () {

});
$.post("test.php", $("#testform").serialize());
您可以使用jQuery函数从表单中获取表单字段值,然后通过jQuery发送

例如:

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 () {

});
$.post("test.php", $("#testform").serialize());

我相信这样的事情会奏效:

    var json_send = {};
    $("input:checkbox").each(function()
                             {
                                 //Push all the $(this).attr("id") into the Json

                             });
//And here you send them

我相信这样的事情会奏效:

    var json_send = {};
    $("input:checkbox").each(function()
                             {
                                 //Push all the $(this).attr("id") into the Json

                             });
//And here you send them

我可以选中几个复选框,逗号分隔符是OK,如果它是一个ID数组不是更好吗?理想的做法是使用名称后缀约定
[]
(如第一个代码所建议的)发送,或者发送json编码的。但这取决于kris的要求。我可以选中几个复选框,逗号分隔符是OK,如果是一个ID数组不是更好吗?理想的做法是使用名称后缀约定发送
[]
(正如第一个代码所建议的),或者发送json编码的。但这取决于克里斯的要求。