首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据两次下拉列表中选择的信息显示文本

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

Stack Overflow用户
提问于 2016-05-25 07:28:34
回答 1查看 49关注 0票数 1

我需要编写一段简短的代码,允许文章顶部的用户执行以下操作:

Drop down 1: How old are you?

Drop down 2: What's your favourite fruit?

基于上面的输入,摘要文本在第二次选择之后立即显示在下面,基于以上两种选择。

对喜欢苹果的18-24岁儿童来说:苹果能帮助你在你的年龄建立免疫系统!

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-25 08:03:38

这都取决于您的数据是如何构造的。

假设有相当多的年龄和果实,像这样的某种数据结构会起作用:

代码语言:javascript
复制
  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."}
    ]
   }
]

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

代码语言:javascript
复制
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函数:

代码语言:javascript
复制
document.getElementById("age").onchange = function()
{
  var age= document.getElementById("age").value();
  var fruit = document.getElementById("fruit").value();

  var displayText = fruitText(friut,text);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37430471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档