gpt4 book ai didi

javascript - Jquery获取所有复选框并按复选框名称分组

转载 作者:行者123 更新时间:2023-12-02 16:02:26 25 4
gpt4 key购买 nike

嗨,我有不同名称的复选框:

名称 - 小时,值 - 天。例如:value="1"表示星期一,name="0609"表示上午 06 点至上午 9 点。

<input type="checkbox" value="1" name="0609">
<input type="checkbox" value="2" name="0609">
...
<input type="checkbox" value="7" name="0609">

<input type="checkbox" value="1" name="0912">
<input type="checkbox" value="2" name="0912">
...
<input type="checkbox" value="7" name="0912">

我需要获取所有已检查和未检查的输入,并按名称合并到数组中,例如:如果检查除星期一之外的所有日期

'0609' => 0, 1, 1, 1, 1, 1, 1

我该如何解决这个问题?

我试图使用 .map 但我得到了未分组的值...

        var valuess = $('input:checked').map(function() {
return this.value;
}).get();
console.log(valuess);

更新:

        var obj = {}; // Define object

// Loop over all checkboxes
$('input[type=checkbox]').each(function() {
var name = $(this).attr('name'); // Get name of this checkbox
var sThisVal = (this.checked ? "1" : "0");
if (obj[name]) {
obj[name].push(sThisVal); // Push value
} else {
obj[name] = [sThisVal]; // Create array and push value
}
});
console.log(obj);

最佳答案

检查一下:

var obj = {}; // Define object

// Loop over all checkboxes
$(':checkbox').each(function() {
var name = $(this).attr('name'); // Get name of this checkbox

if (obj[name]) {
obj[name].push($(this).val()); // Push value
} else {
obj[name] = [$(this).val()]; // Create array and push value
}
});
console.log(obj);

关于javascript - Jquery获取所有复选框并按复选框名称分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com