首页 > 解决方案 > 如何将关联的标签插入到我的 json 列表中

问题描述

编辑:我想出了如何有效地拉绳子。我的新工作是将 Selectbox 元素名称替换为提交按钮生成的 json 对象中的标签。

理想情况下,此 Json 对象应遵循以下格式:{[label]:[value], "Test 1:":"pass"}

我在这方面还很陌生,整天都在代码学院里奔波,但我还没有达到他们的指导对我有用的地步。谢谢,所有的帮助家伙!

js

    <script type="text/javascript">
        // Export to .json on click
        $(document).ready(function() {
            $("#btn-submit").click(function(e){
                var jsonData = {};
                //Answer to first question
                var label = document.querySelector("label[for='usb1']").textContent;
                var formData = $("#myform").serializeArray();
                // console.log(formData);
                $.each(formData, function() {
                    if (jsonData[this.name]) {
                        if (!jsonData[this.name].push) {
                            jsonData[this.name] = [jsonData[this.name]];
                        }
                        jsonData[this.name].push(this.value || '');
                    } else {
                        jsonData[this.name] = this.value || '';
                    }
                });
                console.log(jsonData);
                e.preventDefault();
                function download(content, fileName, contentType) {
                    var a = document.createElement("a");
                    var file = new Blob([content], {type: contentType});
                    a.href = URL.createObjectURL(file);
                    a.download = fileName;
                    a.click();
                }
                if (confirm("Save results to <SCRIPT_PATH_LOCATION>")){
                    download(JSON.stringify(jsonData), 'text.json', 'text/plain');
                } else {
                    return false
                }
            });
        });
    </script>

html

<form id="myform" type="post">
  <fieldset>
        <div class="elements">
            <label for="usb1">Test 1:</label>
            <select name="usb1" id="usb1">
                <option value=""></option>
                <option value="pass">PASS</option>
                <option value="fail">FAIL</option>
            </select>
  </fieldset>
</form>

标签: javascripthtmljson

解决方案


推荐阅读