Javascript 如何循环无线电/复选框输入,并将选定输入的id推送到阵列

Javascript 如何循环无线电/复选框输入,并将选定输入的id推送到阵列,javascript,jquery,arrays,jquery-selectors,Javascript,Jquery,Arrays,Jquery Selectors,我做了一个选择题测验。有些答案有单选框,有些答案有复选框,因为有多个正确答案。我以前使用过一个脚本来获取所有:已检查输入的id,并将它们放入一个数组中,以发送到服务器进行评估 阵列如下所示: userAnswers = [ '1c', '2d', '3a', '3b', '3c', '3d', '4b', '5c', '5d', '6d' ] 我已经设法很容易地遍历所有:选中的输入并将它们的html id添加到一个数组中,但是我需要更改我的数据结构,以便更容易在服务器上评估答案 我正在尝试将数

我做了一个选择题测验。有些答案有单选框,有些答案有复选框,因为有多个正确答案。我以前使用过一个脚本来获取所有:已检查输入的id,并将它们放入一个数组中,以发送到服务器进行评估

阵列如下所示:

userAnswers = [ '1c', '2d', '3a', '3b', '3c', '3d', '4b', '5c', '5d', '6d' ]
我已经设法很容易地遍历所有:选中的输入并将它们的html id添加到一个数组中,但是我需要更改我的数据结构,以便更容易在服务器上评估答案

我正在尝试将数据结构更改为以下内容:

answers = [
  ['c'], // Question 1 answers
  ['d'], // Question 2 answers
  ['a', 'b', 'c', 'd'], // 3
  ['b'], // 4
  ['c', 'd'], // 5
  ['d'], // 6
]
为此,我尝试创建一个循环来查找所有:基于[data question number]值的选中输入,然后将其html ID添加到一个数组中,然后将该数组添加到如上所述的数组中

到目前为止,我得到的最接近的数据如下:

let numberOfQuestions = Assessments.findOne().numQuestions; //returns the number of questions in the quiz e.g '25'
let selectedAnswers = [];

for(let i = 1; i <= numberOfQuestions; i++) {
    let answers = $("input[data-question-number=" + i + "]:checked").attr('id');
}
让numberOfQuestions=Assessments.findOne().numQuestions//返回测验中的问题数,例如“25”
让所选答案=[];

对于(设i=1;i),您必须循环遍历结果元素以逐个获得id

for(let i = 1; i <= numberOfQuestions; i++) {
    let answers = []
    $("input[data-question-number=" + i + "]:checked").each(function() {
      answers.push(this.id)
    });
}

for(让i=1;i您必须循环遍历结果元素,以逐个获得id

for(let i = 1; i <= numberOfQuestions; i++) {
    let answers = []
    $("input[data-question-number=" + i + "]:checked").each(function() {
      answers.push(this.id)
    });
}
for(让i=1;i
let answers=[]
for(让i=1;i
let answers=[]

对于(让我=1;我感谢,这肯定有帮助,但我接受的答案100%解决了问题。非常感谢Through Through,这肯定有帮助,但我接受的答案100%解决了问题。非常感谢