Javascript jquery-页面问题上html元素的过滤
我已经创建了一个javascript过滤器,它可以正常工作,但并不总是如此。要首先看到这一点,请访问以下网站。在左侧,单击“品牌型号”下的普利司通e6链接。它不返回任何内容,但实际上它应该返回视图中的3个产品 过滤器的工作方式如下所示。我获取侧边栏上单击的项目的值,然后在主视图中搜索html元素以查看是否有匹配项。如果有,我只在视图中显示这些产品,并隐藏其余产品 处理这个问题的javascript是(您也可以看到): 我的JS中是否有空格问题或不正确的地方?我尝试使用jQuery trim函数,但没有成功 javascript:Javascript jquery-页面问题上html元素的过滤,javascript,jquery,filter,Javascript,Jquery,Filter,我已经创建了一个javascript过滤器,它可以正常工作,但并不总是如此。要首先看到这一点,请访问以下网站。在左侧,单击“品牌型号”下的普利司通e6链接。它不返回任何内容,但实际上它应该返回视图中的3个产品 过滤器的工作方式如下所示。我获取侧边栏上单击的项目的值,然后在主视图中搜索html元素以查看是否有匹配项。如果有,我只在视图中显示这些产品,并隐藏其余产品 处理这个问题的javascript是(您也可以看到): 我的JS中是否有空格问题或不正确的地方?我尝试使用jQuery trim函数,
var noProductMatches = jQuery('.no-products-found');
jQuery('#filter-by-brand li a').click(function()
{
noProductMatches.hide();
var brandNameSelected = jQuery(this).html();
var productVendorFromCollection = jQuery("#product-vendor");
var productContainer = jQuery('#product-collection .productBoxWrapper');
if (brandNameSelected == 'All Brands' )
{
productContainer.fadeIn("slow");
}
else
{
var results = jQuery(".productBoxWrapper")
.fadeOut(100)
.delay(100)
.filter(function()
{
return jQuery(this).html().indexOf(brandNameSelected) > -1 || jQuery(this).html().indexOf(productVendorFromCollection) > -1;
})
.each(function(index, item)
{
jQuery(item).fadeIn("slow");
});
if (results.length == 0)
{
noProductMatches.fadeIn();
}
}
});
jQuery('#filter-by-model li a').click(function()
{
noProductMatches.hide();
var brandNameSelected = jQuery.trim(jQuery(this).html());
var productContainer = jQuery('#product-collection .productBoxWrapper');
if (brandNameSelected == 'Any Model' )
{
productContainer.fadeIn("slow");
}
else
{
var results = productContainer
.fadeOut(100)
.delay(100)
.filter(function()
{
return jQuery.trim(jQuery(this).html()).indexOf(brandNameSelected) > -1;
})
.each(function(index, item)
{
jQuery(item).fadeIn("slow");
});
if (results.length == 0)
{
noProductMatches.fadeIn();
}
}
});
jQuery('#filter-by-price li a').click(function()
{
noProductMatches.hide();
var priceRangeSelectedItem = jQuery(this).html();
var minSelectedPrice = parseInt( jQuery(this).attr("name") );
var maxSelectedPrice = parseInt( jQuery(this).attr("title") );
var productContainer = jQuery('#product-collection .productBoxWrapper');
if (priceRangeSelectedItem == 'Any Price')
{
productContainer.fadeIn("slow");
}
else
{
var results = jQuery(".productBoxWrapper")
.fadeOut(100)
.delay(100)
.filter(function()
{
var minProductPrice = parseInt( jQuery(this).find("#lowestPriceRange").html() );
var maxProductPrice = parseInt( jQuery(this).find("#highestPriceRange").html() );
//alert(minProductPrice);
//alert(maxProductPrice);
return (minProductPrice >= minSelectedPrice && maxProductPrice <= maxSelectedPrice);
})
.each(function(index, item)
{
jQuery(item).fadeIn("slow");
});
if (results.length == 0)
{
noProductMatches.fadeIn();
}
}
});
var noProductMatches=jQuery('.no-products-found');
jQuery(“#按品牌li a筛选”)。单击(函数()
{
noProductMatches.hide();
var brandNameSelected=jQuery(this.html();
var productVendorFromCollection=jQuery(“产品供应商”);
var productContainer=jQuery('#product collection.productBoxWrapper');
如果(brandNameSelected==“所有品牌”)
{
productContainer.fadeIn(“慢”);
}
其他的
{
var results=jQuery(“.productBoxWrapper”)
.衰减(100)
.延迟(100)
.filter(函数()
{
返回jQuery(this.html().indexOf(brandNameSelected)>-1 | | jQuery(this.html().indexOf(productVendorFromCollection)>-1;
})
.每个(功能(索引、项目)
{
jQuery(item.fadeIn(“慢”);
});
如果(results.length==0)
{
noProductMatches.fadeIn();
}
}
});
jQuery(“#按模型LIA筛选”)。单击(函数()
{
noProductMatches.hide();
var brandNameSelected=jQuery.trim(jQuery(this.html());
var productContainer=jQuery('#product collection.productBoxWrapper');
如果(brandNameSelected=='Any Model')
{
productContainer.fadeIn(“慢”);
}
其他的
{
var results=productContainer
.衰减(100)
.延迟(100)
.filter(函数()
{
返回jQuery.trim(jQuery(this.html()).indexOf(brandNameSelected)>-1;
})
.每个(功能(索引、项目)
{
jQuery(item.fadeIn(“慢”);
});
如果(results.length==0)
{
noProductMatches.fadeIn();
}
}
});
jQuery(“#按价格过滤li a”)。单击(函数()
{
noProductMatches.hide();
var priceRangeSelectedItem=jQuery(this.html();
var minSelectedPrice=parseInt(jQuery(this).attr(“name”);
var maxSelectedPrice=parseInt(jQuery(this.attr)(“title”);
var productContainer=jQuery('#product collection.productBoxWrapper');
如果(priceRangeSelectedItem==‘任何价格’)
{
productContainer.fadeIn(“慢”);
}
其他的
{
var results=jQuery(“.productBoxWrapper”)
.衰减(100)
.延迟(100)
.filter(函数()
{
var minProductPrice=parseInt(jQuery(this.find)(“#lowerstpricerage”).html());
var maxProductPrice=parseInt(jQuery(this.find)(“#highestPriceRange”).html());
//警报(minProductPrice);
//警报(maxProductPrice);
返回(minProductPrice>=minSelectedPrice&&maxProductPrice问题在于它是大小写混合的。菜单上写的是普利司通e6,但页面上写的是普利司通e6,带有大写字母E。或者在搜索我们的产品时,您必须将所有内容都小写,确保它们在菜单和页面上相等。问题在于它是混合的d大小写。菜单上显示的是普利司通e6,但页面上显示的是普利司通e6,带有大写字母E。搜索我们的菜单时,您必须将所有内容都小写,以确保它们在菜单和页面上相等