2015-05-09 100 views
2

很简单的问题。如何在json中存储多个值?

我想学习聚合物并进行了一项调查。 对于其中一个问题,我想分配多个值作为答案,但由于某种原因,我只能使用一个值来处理它。

"survey": [ 

     { 
      "type": "picker", 
      "question": "Please rate out of 5", 
      "min": 1, 
      "max": 5, 
      "answer": 5 
     }, 

当用户选择5时,返回肯定结果,但当用户选择1-4时,返回肯定结果,但不正确。

我想要做的是在'答案'字段中存储多个值,以便如果用户选择1-5,他们都注册为正确的。

我该怎么做?我曾尝试

[1, 2, 3, 4, 5]

,它仍然无法正常工作。

编辑:

这里是聚合物创建滑块添加的值html。

<paper-slider id="slider" min="{{quiz.min}}" max="{{quiz.max}}" step="{{quiz.step || 1}}" immediateValue="{{value}}"></paper-slider> 
+0

你尝试' “答案”:[1,2,3,4,5]'? – Zee

+0

是的大声笑我列出了我的描述,谢谢。 – user3648969

+0

你如何比较答案? –

回答

1

您可以存储'answer'作为JSON数组一样

 var survey = { 
      "type": "picker", 
      "question": "Please rate out of 5", 
      "min": 1, 
      "max": 5, 
      "answer": [1,2,3] 
     } 

而且只要用户输入的东西,你只需要推动这样

console.log(survey); // Array has just 3 elements. 
survey['answer'].push(4); 
console.log(survey); // The value 4 would have been inserted. 

值你好吗推动价值?

看那 Fiddle Link

+0

嘿,谢谢你的回应。 不幸的是,这两个选项都不起作用:/ 当我尝试使用它们中的任何一个时,用户输入的所有值仍然返回负值。 当我只输入一个值,即。 5 它工作正常 – user3648969

+0

看看我的edt。如果用户选择多个选项,您如何推送元素? – Abhinav

+0

再次嗨!用户实际上是在从1 - 5左右滑动的滑块上选择它。因此,用户一次只能选择一个选项/值。 我已经尝试了您的代码,但它仍然没有返回任何正确的值。当我输入5或4或任何单个值时,它将回答正确。当我输入多个值时,如数组中显示的那样,所有这些值都是不正确的。:( – user3648969

1

好像它可能工作使用的子元素。

"survey": [ 
    { 
     "type": "picker", 
     "question": "please rate out of 5", 
     "answer": [ 
      { 
       value: "1", 
       value: "2", 
       value: "3", 
       value: "4", 
       value: "5", 
      } 
     ] 
    } 
] 

参考:https://www.polymer-project.org/0.5/docs/polymer/binding-types.html

+0

我已经试过这个答案,但它似乎正在得到某种语法错误 这是一个截图的代码http://imgur.com/ EWdBIeW – user3648969