Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 获取每个textarea的值及其在div中的复选框,并将它们放在一个数组中_Jquery - Fatal编程技术网

Jquery 获取每个textarea的值及其在div中的复选框,并将它们放在一个数组中

Jquery 获取每个textarea的值及其在div中的复选框,并将它们放在一个数组中,jquery,Jquery,例如,我有以下几点: 我希望遍历每个div类“both”,并将其子类的属性作为值分配给int-include复选框数组,仅当它们为true时才指定值 这是个愚蠢的问题,但我在这方面是新手 同时,我会看看自己是否能想出一个解决方案:) 谢谢您可以执行以下操作: $(".both").each(function() { array[index] = $(this).find("textarea").attr("data-id"); index = index + 1; $(t

例如,我有以下几点:

我希望遍历每个div类“both”,并将其子类的属性作为值分配给int-include复选框数组,仅当它们为true时才指定值

这是个愚蠢的问题,但我在这方面是新手

同时,我会看看自己是否能想出一个解决方案:)


谢谢

您可以执行以下操作:

$(".both").each(function() {
    array[index] = $(this).find("textarea").attr("data-id");
    index = index + 1;

   $(this).find("input[type='checkbox']").each(function() {
        if ($(this).attr("checked")) {
           array[index] = $(this).attr("data-id");
           index = index + 1;
        }
    });
});

希望这有帮助

这将为您提供一个包含三个数组的数组,每个div对应一个数组,其中包含textarea的数据id,然后是复选框的数据id:

var arr = [];
$('.both').each(function() {
  var a = [$('textarea', this).data('id')];
  $(':checked', this).each(function() {
    a.push($(this).data("id"));
  });
  arr.push(a);
});
示例结果:

[[1, 1], [2], [3, 1, 2]]

演示:

同时,我会看看自己是否能想出一个解决方案。。。我们在这里不是这样工作的。你应该首先自己想出一个解决方案,然后如果它不起作用,展示你已经尝试了什么,我们将要么a)建议如何解决它,要么b)建议一个更好的方法。我确实尝试过。。我试图得到这两个项目的长度,并为div的每个成员循环这两个项目。。。如果我知道你为什么认为我在这里?那么展示一下你的尝试,我们要么建议如何修复它,要么建议更好的方法……我尝试过的失败了。但为了你的论点,我将把它包括在内。同时,你不想让我坐下来等待回答。。作为一名C程序员,这对我来说非常有意义。。Thanks@user1445321:啊哈,你也想要那些人的身份证?我更新了代码。如何为传递的每个数组分配名称。。或者我真的需要这个。。下面是一个例子。。arr.push({name:'whatever',value:$(this.children().val()})@user1445321:访问阵列不需要使用该属性,但可以使用name属性将每个阵列封装在任何对象中:
arr.push({name:'tware'+a[0],value:a})
。结果:
[{name:'both1',values:[1,1]},{name:'both2',values:[2]},{name:'both3',values:[3,1,2]}]
。你能考虑一下我如何在不使用MVC将值以名称传递给控制器的情况下获取这些值吗?@user1445321:如果你想将数据发送到服务器,为什么不直接发布表单呢?
[[1, 1], [2], [3, 1, 2]]