Javascript 如何将类的每次出现推送到单独的数组中
我有这样的情况,Javascript 如何将类的每次出现推送到单独的数组中,javascript,jquery,node.js,Javascript,Jquery,Node.js,我有这样的情况, <div class="check-group"> <input type="checkbox" value="pqrs" checked="checked"/> <label>pqrs</label> </div> 我有一个类称为复选框组有两个事件如下 <div class="check-group"> <input type="checkbox" value="abc"
<div class="check-group">
<input type="checkbox" value="pqrs" checked="checked"/>
<label>pqrs</label>
</div>
我有一个类
称为复选框组
有两个事件
如下
<div class="check-group">
<input type="checkbox" value="abc" checked="checked"/>
<label>abc</label>
<input type="checkbox" value="xyz"/>
<label>xyz</label>
</div>
现在我的问题是如何在每次出现检查组类
时制作不同的数组
?像这样array1=[“abc”];和阵列2=[“pqrs”]
问题是,当我使用动态表单生成器时,我可能不知道检查组类的出现次数
注意:请让array
作为per
类的增长
这里是演示:(没有两个数组
数组
不会随着类的出现而增长)
提前感谢 要获取所有检查组元素的列表:
const groups = document.getElementsByClassName('check-group');
要获取每个组中复选框值列表,请执行以下操作:
const valueGroups = Array.from(groups).map((group) => {
const checkboxes = group.querySelectorAll('input[type="checkbox"]');
return Array.from(checkboxes).map((elem) => {
return elem.value;
});
});
如果元素被动态插入到文档中(即使用),那么应该在那里收集这些值,而不是像这样查询文档
您可以利用的一个漂亮特性是返回一个活动的元素列表。它将自动更新以响应DOM。但是,它不会为您重新运行这些映射函数或类似的操作
对您无法控制的更改作出反应的最后一种方法是使用直接对DOM中的更改作出反应。但要当心,这是很费时的。
函数创建检查组数组(){
var checkgroupArray=[];
var i=0;
$(“.check group”)。每个(函数(){
checkgroupArray[i]=[];
$(this).find(“输入:复选框:选中”).each(函数(){
checkgroupArray[i].push($(this.val());
});
i++;
});
log(checkgroupArray);
}
$(“单击它”)。在(“单击”,函数()上{
创建\u检查组\u数组()
});代码>
abc
xyz
pqrs
您是否正在尝试实现这一点:?请让数组根据类的出现而增长是什么意思?有2次检查组
类出现,因此我需要2个数组
具有自己的检查值
。如果检查组
类出现3次那么我需要3个数组有自己的值
任何示例
都会帮助我
谢谢的回答
@user5405873我添加了一些示例代码。我希望你觉得它有用。