【问题标题】:Assigning value based on multiple selection from the user - using jquery根据用户的多项选择分配值 - 使用 jquery
【发布时间】:2017-02-24 03:24:14
【问题描述】:

我需要使用矩阵/表格,然后根据提供的用户输入为用户分配矩阵中提到的数字(如下所示)。

这是矩阵请点击图片放大)-

所以,基本上..

  1. 用户登陆一个带有多个复选框和单选按钮的网页,每个问题问几个问题,用户必须选择答案为“是”或“否”。
  2. 之后,用户点击计算我的评分按钮,然后这个数据就来了。
  3. 所以这是我的问题 ---- 我应该如何处理用户数据并根据他的选择为他提供评级。

我想出了一些方法......

  1. 为每个评分值定义一些用户输入的 json 结构。

    {"list": [ { "user-data": "user_name_timestamp", "inputs": [ { "selected": [ { "do_you_drink_occasionally": "yes", "do_you_spend_more_than_100": "no" }, { "do_you_smoke_more_than_5": "no", "do_you_spend_more_than_50": "yes" } ] } ] } ]}

    然后直接比较每个值。

  2. 获取一组用户输入,然后比较并找到用户选择的输入,然后提供所需的评分。

我不确定这是否可行,或者是否有更合适的方法来处理必须根据输入解析矩阵的场景。

任何建议都将不胜感激。

提前致谢。

【问题讨论】:

  • 他们都是yes/no答案还是会有字符串/数字输入?
  • 它们可以是任何东西..要么 1/0 要么是/否..我可以根据需要进行配置。
  • 如果它们是简单的是/否答案,我觉得多维数组是最简单的,因为您可以将是/否转换为 1/0,然后只需 result[first][second][third] 等。我觉得相比之下,JSON 可能过于复杂,因为它们所做的只是存储选定的选项,然后无论如何您都需要对其进行处理。
  • 听起来不错,但如果你能帮我举个例子,那就太好了:)
  • 取决于您的需要。 Could you provide perhaps what happens when all your options are selected what output it would give (e.g. yes, yes, yes = "you are fat") or whatever.如果(是,是)将等同于任何东西(可能只是空)

标签: javascript jquery json matrix multidimensional-array


【解决方案1】:

你可以先这样做:

var array = new Array(2);

for (let i = 0; i < array.length; i++)
{
	array[i] = new Array(2);
}

for (let i = 0; i < array.length; i++)
{
	for (let j = 0; j < array.length; j++)
  {
    array[i][j] = new Array(2);
  }
}

//define what you want the end options to be

array[1][1][1] = "You eat too much, you are fat"

console.log(array);

因此,如果所有选项都为真(假设您的答案是 = 1 和否 = 0),那么这样做的目的是。您可以快速访问相应的答案。

您需要设置每个最终选项。

所以我假设一个问题与下一个问题相关,例如。

第一季度。你喝酒吗? Q2。你抽烟吗? Q3。你吸毒吗?

(假设都是肯定的)

var q1 = 1
var q2 = 1
var q3 = 1

array[q1][q2][q3] // Should print out "You eat too much, you are fat"

【讨论】:

  • 这看起来不错。这与输入参数的关系如何..我们是否遍历用户选择的参数....?您能否添加更多描述性示例并在其中评论...
  • 使用给定的响应访问答案,不确定它们是如何排列在您的末端,但我编辑了一个粗略的例子
  • 第一个和第二个循环是做什么的。这种方法对多个是/否有帮助吗...?如果有 6 个选项,我是否必须定义 6 个不同的最终答案,如果我使用这种方法..?
  • 根据选项的不同答案如何不同,使用多维数组会更容易,或者只是检查所有选项。如果路径上的每一个选择最后都会产生不同的答案,多维数组应该是最好的,但如果最后只有几个答案,那么切换应该更容易
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 2019-03-30
相关资源
最近更新 更多