Javascript jquery-页面问题上html元素的过滤

Javascript jquery-页面问题上html元素的过滤,javascript,jquery,filter,Javascript,Jquery,Filter,我已经创建了一个javascript过滤器,它可以正常工作,但并不总是如此。要首先看到这一点,请访问以下网站。在左侧,单击“品牌型号”下的普利司通e6链接。它不返回任何内容,但实际上它应该返回视图中的3个产品 过滤器的工作方式如下所示。我获取侧边栏上单击的项目的值,然后在主视图中搜索html元素以查看是否有匹配项。如果有,我只在视图中显示这些产品,并隐藏其余产品 处理这个问题的javascript是(您也可以看到): 我的JS中是否有空格问题或不正确的地方?我尝试使用jQuery trim函数,

我已经创建了一个javascript过滤器,它可以正常工作,但并不总是如此。要首先看到这一点,请访问以下网站。在左侧,单击“品牌型号”下的普利司通e6链接。它不返回任何内容,但实际上它应该返回视图中的3个产品

过滤器的工作方式如下所示。我获取侧边栏上单击的项目的值,然后在主视图中搜索html元素以查看是否有匹配项。如果有,我只在视图中显示这些产品,并隐藏其余产品

处理这个问题的javascript是(您也可以看到):

我的JS中是否有空格问题或不正确的地方?我尝试使用jQuery trim函数,但没有成功

javascript:

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。搜索我们的菜单时,您必须将所有内容都小写,以确保它们在菜单和页面上相等