Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Javascript 使用Jquery发送数组_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript 使用Jquery发送数组

Javascript 使用Jquery发送数组,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,在这里,我试图将所选的发送到控制器。当只有一个Id出现时,此功能有效,但当有多个Id出现时,此功能不起作用。但警觉总是有效的。如何从这里发送阵列 $('[data-toggle="mftapproveCheck"]').click(function () { var selected = $("#checkboxes input:checked").map(function (i, el) { return el.value; }).get(); //alert("select

在这里,我试图将所选的
发送到控制器。当只有一个Id出现时,此功能有效,但当有多个Id出现时,此功能不起作用。但警觉总是有效的。如何从这里发送阵列

$('[data-toggle="mftapproveCheck"]').click(function () {


    var selected = $("#checkboxes input:checked").map(function (i, el) { return el.value; }).get();
   //alert("selected = [" + selected + "]\nas int = \"" + selected.join(";") + "\"");

    var url = $(this).data("url") + "/" + selected;
    var title = $(this).data("title");


        callback: function (result) {
            if (result) {
                $("#preLoader").fadeIn('fast');
                $.post(url, function (json) {
                    if (json.IsComplete) {
                        $("#" + id).remove();
                        BSToastr.show("success", "Başarılı", "İşleminiz Başarıyla Gerçekleştirildi.");
                    }
                    else {
                        BSToastr.show("error", "Hata", "İşleminiz Gerçekleştirilemedi.");
                    }
                    $("#preLoader").fadeOut('fast');
                });
            }
        }
    });


});
public ActionResult ApproveSelected(int[]选中)
{
var itema=已选择;
var itemb=itema;
尝试
{
var AllParticipants=Db.Participants
.Where(m=>selected.Contains(m.Id))
.OrderBy(m=>m.Id)
.ToList();
for(int i=0;i
由于这一行,您没有发送列表:

public ActionResult ApproveSelected(int[] selected)
    {
        var itema = selected;
        var itemb = itema;
        try
        {

            var AllParticipants = Db.Participants
            .Where(m => selected.Contains(m.Id))
            .OrderBy(m => m.Id)
            .ToList();

            for (int i = 0; i < AllParticipants.Count; i++)
            {

                var item = AllParticipants.First();
                item.Approval = true;

                var itemRemove = AllParticipants.First();
                AllParticipants.Remove(item);

            }

            Db.SaveChanges();
        }
        catch
        {
            return Json(new { IsComplete = false });
        }

        return Json(new { IsComplete = true });
    }
它只显示所选的
,而没有实际转换它。如果查看
警报
,实际上是通过
join
函数将其转换为字符串,这就是您看到所有项目的原因

var url = $(this).data("url") + "/" + selected;

仍然为空且超过1个数字您能更具体一点吗?什么是空的?可能会给出一些示例值来帮助澄清您的问题。我从复选框中获取所选ID。当我选中1复选框时,我可以在控制器中看到带断点的Id,也可以在警报中看到。当我选中几个复选框时,我在控制器中看到null,在警报中看到Id。将添加我的控制器,这听起来像是路由配置的问题,没有参数化列表供您在控制器中参考,这是另一个问题。我建议您使用javascript将此问题标记为原始问题的答案,并针对服务器端路由问题发布一个新问题。我认为此部分存在问题?$。post(url,函数(json){请不要接受错误的答案,这些答案与您的问题无关-它只会误导其他用户。要发回数组,请使用
$.ajax()
方法和
data:selected
traditional:true
selected.join(";"); // <-- used in your alert()
var url = $(this).data("url") + "/" + selected.join(";");