根据以前的输入

时间:2017-05-15 18:42:15

标签: html css3 combobox

所以我想要一个显示不同时间的组合框,具体取决于用户在之前的组合框中选择的内容。

举一个例子,如果用户选择“matinee times”,那么下一个组合框将只有matinee时间。但是,如果用户选择“晚上时间”,则用户将只在下一个组合框中显示晚上时间。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

您可以使用包含数组的对象来驱动您的选择框。这样可以轻松添加/删除时间。



var times = {
  "evening": ["7:00", "8:00", "9:30", "10:30", "11:30"],
  "morning": ["10:00", "10:30", "11:00", "11:15"]
}

$("#group").change(function(ev) {
  var group = ev.currentTarget.value;
  // Clear out the existing values
  $("#times").empty();
  // If they didn't go back to select, load the new values
  if (group !== "select") {
    // For each value in the group, add an option
    times[group].forEach(function(value) {
      $("#times").append($("<option></option>")
        .attr("value", value)
        .text(value));
    });
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="group">
  <option value="select">Select...</option>
  <option value="morning">Morning</option>
  <option value="evening">Evening</option>
</select>

<select id="times"></select>
&#13;
&#13;
&#13;