所以我想要一个显示不同时间的组合框,具体取决于用户在之前的组合框中选择的内容。
举一个例子,如果用户选择“matinee times”,那么下一个组合框将只有matinee时间。但是,如果用户选择“晚上时间”,则用户将只在下一个组合框中显示晚上时间。
关于如何做到这一点的任何想法?
答案 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;