根据在两个下拉列表中选择的信息显示文本

时间:2016-05-25 07:28:35

标签: jquery html forms conditional dropdownbox

我需要编写一些快速代码,允许用户在我们的某篇文章页面顶部执行以下操作:

Drop down 1: How old are you?

Drop down 2: What's your favourite fruit?

根据上述输入,根据上述两个选项,在进行第二次选择后,摘要文本会立即显示在下方。

对于喜欢苹果的18-24岁年轻人:苹果可以帮助你在你这个年龄建立你的免疫系统!

对于喜欢香蕉的50-60岁年轻人:香蕉在以后的生活中确实有助于维生素C和骨密度。

1 个答案:

答案 0 :(得分:0)

这完全取决于数据的结构。

假设存在相当多的年龄和成果,某种类似的数据结构会起作用:

  var text = [
  { fruit: "bananas", ages: 
    [
      { range: "18-24", text:"Bananas are awesome"},
      { range: "50-60", text:"Bananas really help with vitamin C and bone density in later life."}
    ]
  },
  { fruit: "apples", ages: 
    [
      {range: "18-24", text:"Apples help you build your immune system at your age!"},
      {range: "50-60", text:"Apples are cheap."}
    ]
   }
]

然后,选择列表的选定值可用于搜索正确文本的数据:

function findText(fruit,age)
{
    for(var i =0; i < text.length; i++)
  {
    if(text[i].friut == fruit)
    {
        for(var j=0; j < text[i].ages.length; j++)
      {
        if(text[i].ages[j].range == age)
            return (text[i].ages[j].text;
      }
    }
  }
  return "No match";
}

然后如何绑定更改事件只需调用find函数:

document.getElementById("age").onchange = function()
{
  var age= document.getElementById("age").value();
  var fruit = document.getElementById("fruit").value();

  var displayText = fruitText(friut,text);
}