javascript - json 继续插入第一个数组项

标签 javascript

我有隐藏的输入类型,我想在单击时将 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 中使用的那样,现在我得到的是

enter image description here

现在我的问题是为什么它没有像下面那样插入以及我做错了什么?

[{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/

相关文章:

javascript - 检查 URL 是否为 YouTube 视频

javascript - 我怎样才能让我的动画也朝另一个方向工作?

JavaScript:使用子字符串获取字符串的一部分

javascript - 如何为服务 worker 缓存音频文件?

javascript - Angular 图表 - 无法读取数据

javascript - 谁能给我关于javascript中的这个语法

javascript - 什么时候复制值?

javascript - 如何解决滚动时移动菜单消失的问题?

javascript - 页面上两个地方有相同的 iframe 吗?

javascript - jQuery:如何匹配 ids 的最后部分