我有 2 个组合框。我想根据组合框 1 的选择在组合框 2 中显示特定数据。
但我想让它成为一个准时选择......所以当我从组合框 1 中按下我想要的选项时,组合框 2 会填充与此选择匹配的数据。
我试图在组合框 1 选项上放置一个单击功能,但是当我单击它们时它不起作用......那么有什么方法可以做到吗?
我有 2 个组合框。我想根据组合框 1 的选择在组合框 2 中显示特定数据。
但我想让它成为一个准时选择......所以当我从组合框 1 中按下我想要的选项时,组合框 2 会填充与此选择匹配的数据。
我试图在组合框 1 选项上放置一个单击功能,但是当我单击它们时它不起作用......那么有什么方法可以做到吗?
在第一个下拉列表中分配change
事件处理程序,然后根据选定的值,获取应该放在第二个下拉列表中的值。这是一个典型的制造商 -> 模型示例:
标记:
<select id="manufacturers">
<option></option>
<option value="Audi">Audi</option>
<option value="Toyota">Toyota</option>
</select>
<select id="cars">
</select>
JavaScript:
var cars = {
Audi: [ 'A2', 'A3', 'A4' ],
Toyota: [ 'Auris', 'Avalon', 'Yaris' ]
};
$("#manufacturers").change(function () {
var $this = $(this);
var selectedValue = $this.val();
if (selectedValue) {
var $cars = $("#cars").empty();
var newCars = cars[selectedValue];
$.each(newCars, function () {
console.log(this);
$("<option>" + this + "</option>").appendTo($cars);
});
}
});
演示 。
您应该在选择标签本身(而不是选项标签)上使用更改(而不是点击)事件。例子:
$('#combo1').change(function() {
// Load new content for #combo2 here
});
$('select.option1').change(function() {
// fill option2 with data from somewhere
});
Chained 是用于链式选择的简单 jQuery 插件
http://www.appelsiini.net/projects/chained
我在一些项目中使用了这个插件,它工作稳定并且符合预期。随意尝试......</p>