我有隐藏的输入类型,我想在单击时将 json 数组插入其中,并附加已经存在的输入类型,因为我尝试了以下代码
输入
document.getElementById('addQuestionbtn').onclick = function () {
const questionData = [];
let questionJSON = document.getElementById('quesionDataJson');
if (questionJSON.value.length) {
let value = JSON.parse(questionJSON.value);
questionData.push(value)
}
let question = document.getElementsByName('question')[0].value;
let option1 = document.getElementsByName('option1')[0].value;
let option2 = document.getElementsByName('option2')[0].value;
let option3 = document.getElementsByName('option3')[0].value;
let option4 = document.getElementsByName('option4')[0].value;
let selectedOption = document.querySelector('input[name="options"]:checked').value;
let data = {
question: question,
option1: option1,
option2: option2,
option3: option3,
option4: option4,
selectedOption: selectedOption
};
questionData.push(data);
questionJSON.value = JSON.stringify(questionData);
};
我有表单、输入类型和 btn 名称,就像我在 js 中使用的那样,现在我得到的是
现在我的问题是为什么它没有像下面那样插入以及我做错了什么?
[{question: "one", option1: "1", option2: "2", option3: "3", option4: "4"},
{question: "one", option1: "1", option2: "2", option3: "3", option4: "4"},
{question: "one", option1: "1", option2: "2", option3: "3", option4: "4"}]
最佳答案
questionData.push(value)
这会将您想要进入的数组推送到数组中,可能只是附加数据:
questionData.push(...value);
或者只是重新设置问题数据:
questionData = value;
关于javascript - json 继续插入第一个数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50775186/