Javascript &引用;过滤“;带有jquery和json数据的第二个下拉框

Javascript &引用;过滤“;带有jquery和json数据的第二个下拉框,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有两个下拉列表和一个文本框。第一个下拉列表是包含静态值的列表。第二个下拉列表是从json数组动态填充的。以下是我想要实现的目标。根据从第一个下拉列表中选择的值筛选第二个下拉列表。文本框将根据从第二个下拉列表中选择的值输出值。以下是我目前的处境: 更改后,我能够填充第二个下拉列表,并能够将匹配的值输出到文本框。但是,我的第二个下拉列表未正确过滤。而是填充所有可用的选项值。我在这里检查了不同的帖子,并尝试在添加之前过滤值,但到目前为止没有效果 HTML: 选择制作: 阿库拉 宝马 选择模型 您的

我有两个下拉列表和一个文本框。第一个下拉列表是包含静态值的列表。第二个下拉列表是从json数组动态填充的。以下是我想要实现的目标。根据从第一个下拉列表中选择的值筛选第二个下拉列表。文本框将根据从第二个下拉列表中选择的值输出值。以下是我目前的处境: 更改后,我能够填充第二个下拉列表,并能够将匹配的值输出到文本框。但是,我的第二个下拉列表未正确过滤。而是填充所有可用的选项值。我在这里检查了不同的帖子,并尝试在添加之前过滤值,但到目前为止没有效果

HTML:


选择制作:
阿库拉
宝马
选择模型
您的汽车尺寸为:
脚本:
变量a={
汽车:[
{
“id”:1,
“制造”:“极品”,
“型号”:“2.2CL/3.0CL”,
“尺寸”:“汽车”
},
{
“id”:12,
“制造”:“极品”,
“模型”:“RDX”,
“尺寸”:“紧凑型SUV”
},    
{
“id”:10,
“制造”:“极品”,
“模型”:“MDX”,
“尺寸”:“大型SUV”
},
{
“id”:74,
“制造”:“宝马”,
“型号”:“128”,
“尺寸”:“汽车”
},
{
“id”:75,
“制造”:“宝马”,
“模型”:“135”,
“尺寸”:“汽车”
},
{
“id”:129,
“制造”:“宝马”,
“型号”:“X3”,
“尺寸”:“紧凑型SUV”
},
{
“id”:130,
“制造”:“宝马”,
“型号”:“X5”,
“尺寸”:“大型SUV”
}
]
};
$(“#make”).change(函数(){
如果(“#模型”!=‘选择模型’)
$('#model').empty().append($(''.val('Select model')).html('Select model'));
其他的
$。每个(a.车辆、功能(键、值){
$(“#model”).append($('').val(value.size).html(value.model
));
});
});
$('#model')。更改(函数(){
//警报($(this.val());
//var getModelval=$('#model').val();
$('#size').val($(this.val());
//$('#size').val(.val(id));
});

这里有一个fiddle链接:

JSON过滤有几个选项。下面是一种可以更改onchange事件以过滤
模型
下拉列表的方法

$("#make").change(function () {
    $('#model').empty().append($('<option></option>').val('Select Model').html('Select Model'));
    var matchVal = $("#make option:selected").text();
    a.Cars.filter(function (car) {
        if (car.make == matchVal) {
            $("#model").append($('<option></option>').val(car.size).html(car.model));
        }
    });
});
$(“#make”).change(函数(){
$('#model').empty().append($(''.val('Select model')).html('Select model'));
var matchVal=$(“#生成选项:选中”).text();
a、 汽车.过滤器(功能(汽车){
如果(car.make==matchVal){
$(“#model”).append($('').val(car.size.html(car.model));
}
});
});
下面是一个关于如何过滤JSON数据的选项。

。谢谢“鹅”!作品
$("#make").change(function () {
    $('#model').empty().append($('<option></option>').val('Select Model').html('Select Model'));
    var matchVal = $("#make option:selected").text();
    a.Cars.filter(function (car) {
        if (car.make == matchVal) {
            $("#model").append($('<option></option>').val(car.size).html(car.model));
        }
    });
});