【发布时间】:2018-05-10 00:57:44
【问题描述】:
我有一个将 JSON 文件作为参数的算法,如下所示:
{"quiz": {
"algorithm_id_1": "4",
"algorithm_id_2": "2",
"algorithm_id_3": "3",
// ...
algorithm_id 是输入字段的 id,后面的数字是用户为该输入字段选择的值(大部分是滑块)。
我的问题如下:
- 如果输入与另一个输入具有相同的 id,如何防止重叠? (例如
"algorithm_id_1": "2", "3"而不是"algorithm_id_1": "2", ... "algorithm_id_1: "3"?
我目前正在获取每个输入字段的 id 及其对应的值,但每个响应都被存储为自己的对象。
const allInputs = $(":input");
// retrieve
for (var i = 0; i < allInputs.length; i++) {
allInputs[i].value = localStorage.getItem(i);
}
// populate
jQuery(":input").change(function() {
for (var i = 0; i < allInputs.length; i++) {
localStorage.setItem(i, allInputs[i].value);
// console.log($(":input").get(i).id);
var map = {};
var vals = allInputs[i].value;
var keys = allInputs.get(i).id;
map[keys] = vals;
console.log(keys)
}
});
上下文:我确信有更简单的方法可以做到这一点,但我仅限于我们当前的堆栈(Node.js 和 EJS),并且对我们正在使用的内容没有太多发言权。此功能的目的是收集用户的响应,然后将它们输入到推荐算法中。任何和所有的帮助将不胜感激。
【问题讨论】:
标签: javascript node.js forms hash ejs