Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery过滤带有选择框选项值的json_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery过滤带有选择框选项值的json

Javascript 使用jquery过滤带有选择框选项值的json,javascript,jquery,html,Javascript,Jquery,Html,如何根据年份过滤“Make”值。例如:当我选择“年”作为“2012年”时,相关数据即:;下拉框中只应显示“def”。 另一个问题是,当我选择下一个值时,表中以前的数据再次显示。 请参阅演示以获得更好的理解 我试过这个 $.each(g_Vehicle, function(index) { var sMake = g_Vehicle[index].Make; if($('#DropDown_Year').val())=='2011'){ /* for testing purpose i g

如何根据年份过滤“Make”值。例如:当我选择“年”作为“2012年”时,相关数据即:;下拉框中只应显示“def”。 另一个问题是,当我选择下一个值时,表中以前的数据再次显示。 请参阅演示以获得更好的理解

我试过这个

$.each(g_Vehicle, function(index) {
 var sMake = g_Vehicle[index].Make;
  if($('#DropDown_Year').val())=='2011'){  /* for testing purpose i give year as 2011*/
   if ($.inArray(sMake, g_MakesArray) == -1) {
    g_MakesArray.push(sMake);
        } 
 }
});

函数过滤器(){
开关($(this).text()){
案例“2012”:
//过滤逻辑
$(“#dropdown2”).html(“…”);
打破
....
}
}
$(“#下拉列表”).change(过滤器);

您可以在开始时将第二个下拉框设为空,并在某人选择年份后用适当的选项填充它。

要筛选集合/数组,请使用$.grep,要了解更多信息,请阅读本文,这将对此进行更多解释。

我将使用此选项

e、 g

function filter() {
    switch($(this).text()) {
    case "2012":
        //filter logic
        $("#dropdown2").html("<select>....</select><select>...</select>");
        break;
    ....
    }
}

$("#dropdown").change(filter);
var newArray = jQuery.grep(g_Vehicle , function(element, index){
  return element.Make == "abc" ; 
});