1

如何根据年份过滤“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);
        } 
 }
});

演示

4

3 回答 3

3

要过滤集合/数组,请使用 $.grep,要了解更多信息,请查看jqfaq.com文章,这将对此进行更多解释。

于 2012-11-20T12:37:12.577 回答
0
function filter() {
    switch($(this).text()) {
    case "2012":
        //filter logic
        $("#dropdown2").html("<select>....</select><select>...</select>");
        break;
    ....
    }
}

$("#dropdown").change(filter);

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

于 2012-11-20T07:56:16.247 回答
0

我会为此使用grep

例如

var newArray = jQuery.grep(g_Vehicle , function(element, index){
  return element.Make == "abc" ; 
});
于 2012-11-20T12:53:35.583 回答