首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组jQuery AJAX

数组jQuery AJAX
EN

Stack Overflow用户
提问于 2017-02-27 18:03:06
回答 2查看 54关注 0票数 2

嗨,

我正在处理一个项目,并尝试发送多个选中的“复选框”的值。然而,结果总是不确定的。他找不到箱子。他们都是空的。我在同一页上测试了另一个输入,以防万一,他找到了。

这里的问题是我的输入字段仍未定义(出于测试目的,我“选中”了两个复选框)。

pager.js

代码语言:javascript
复制
 var requestGroupDel = false;
$('.agg_trash').on("click", function() {
    if (requestGroupDel == false) {
        requestGroupDel = true;

        var check_list = $('input[name=check_list]').val();

        requestDel = false;

        $.ajax({
            type: "POST",
            url: "app/control/ajax.php?action=groupdelete",
            async: true,
            data: {
                "check_list": check_list
            },
            success: function(data) {

                data = $.trim(data);
                requestGroupDel = false;

                console.log(data);

            }
        });

    }
});

表单(它在WHILE循环中)

代码语言:javascript
复制
<input type="checkbox" class="agg_check" name="check_list[]"  value="' . $artikel['id']  . '">

所有复选框都有相同的名称,因为我希望结果是数组,这样我就可以运行foreach了。为什么这个输入没有定义?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-27 19:08:42

您可以使用checked属性来获取这些输入的值。然后,用each() function循环它来构建数组。

即:

代码语言:javascript
复制
var check_list = []
$("input[name='check_list[]']:checked").each(function() {
    check_list.push($(this).val());
});
console.log(check_list);

产出:

Array [ "2", "3", "4" ]

票数 2
EN

Stack Overflow用户

发布于 2017-02-27 18:09:32

变化

代码语言:javascript
复制
var check_list = $('input[name=check_list]').val();

通过

代码语言:javascript
复制
var check_list = $('input[name^="check_list"]:checked').toArray().map(function(el){
    return $(el).val();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42492708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档