【问题标题】:How to auto populate a Dropdown based on the results of the prior two related dropdowns [closed]如何根据前两个相关下拉列表的结果自动填充下拉列表[关闭]
【发布时间】:2016-07-22 06:01:46
【问题描述】:

如果存在三个下拉菜单,则第三个依赖于第二个和第一个下拉菜单。前两个填写例如第一个下拉菜单的字段是汽车制造商,第二个字段是汽车类型(汽车,货车,卡车),第三个是基于前两个下拉菜单的模型列表' 选择。假设我选择本田作为制造商,卡车作为汽车类型。第三个下拉选项的唯一选择是本田 Ridgeline? 我的问题是,如果最终下拉菜单由于先前下拉菜单的选择选项而只有一个选项,我将如何自动填充下拉菜单中的字段。我正在尝试使用 Javascript,因为 int 客户端是唯一的选择。这不是硬件只是想弄清楚如何按照这些思路做事。任何帮助将非常感激。一个 JS 小提琴链接也将不胜感激,我没有太多运气找到这样的例子。

【问题讨论】:

  • 绝对改写这个。很难理解
  • 会的,对此我深表歉意
  • 逻辑处理应该在后端。
  • N.J.Dawson,我的编辑是否使它更容易理解?
  • 威尔,我没有后端。这就是为什么我想知道这是否可以通过 Javascript 完成

标签: javascript jquery html drop-down-menu


【解决方案1】:

var data = {
  Honda: {
    car: ["Civic", "Acura"],
    truck: ["Ridgeline"]
  },
  Toyota: {
    car: ["Camry", "Corolla"],
    truck: ["Some truck"]
  }
}

var updateDropDown = function(){
  var make = $("#make").val()
  var type = $("#type").val()
  var options = data[make][type]
  var html = ""
  options.forEach(function(option){
    html += '<option value="' + option + '">' + option + '</option>'
  })
  $("#options").html(html)
}

$("#make").change(updateDropDown)
$("#type").change(updateDropDown)
updateDropDown();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<select id="make">
  <option value="Honda">Honda</option>
  <option value="Toyota">Toyota</option>
</select>
<select id="type">
  <option value="car">Car</option>
  <option value="truck">Truck</option>
</select>
<select id="options">
</select>

【讨论】:

  • 谢谢,这是我一直在寻找的,非常感谢。你能这么快写出这么好的东西真是太好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多