如果语句带有多个||和&&不工作

时间:2017-01-25 16:54:21

标签: javascript jquery json

我的if声明无效。

我从JSON文件中提取项目,尝试按品牌显示项目并显示多个类别。

因此,如果项目类别为5或6且项目品牌字母为" C"只是,我需要展示这些项目。但出于某种原因,这个if声明,它也显示了其他品牌信件。恩。 " B"," F"项目也在显示。

它似乎没有按预期工作。我无法像使用||一样使用它吗?因为如果我删除了其中一个项目类别编号,但我无法显示这两个类别。

          //display peppers function 
          function displayPeppers() {
              var categoryImage = '';
              $.each(product_data, function (i, item) {
                  //convert JSON strings to uppercase for comparison
                  var brandLetter = item.itemBrandLetter.toUpperCase();
                  var foodService = item.itemDeli.toUpperCase();

                  if(item.itemCategory == 5 || item.itemCategory == 6 && brandLetter == "C" && foodService == "N") {
                    categoryImage += '<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">' + '<a href="#"' + 'class="showProduct"' + 'data-itemcountry="' + item.itemCountry + '"' + 'data-itemcategory="' + item.itemCategory + '"' + 'data-itempageurl="' + item.itemFullUPC + '"' + 'data-itemgmo="' + item.itemGMOFree + '"' + 'data-itembpa="' + item.itemBPAFree + '"' + 'data-itemgluten="' + item.itemGlutenFree + '"' + 'data-itemlowsodium="' + item.itemLowSodium + '"' + 'data-itemkosher="' + item.itemKosherSym + '"' + 'data-itemorganic="' + item.itemOrganic + '"' + 'data-itemimage="' + item.imageURL + '"' + 'data-itemname="' + item.itemName + '"' + 'data-itemoz="' + item.itemPackSize + '"' + 'data-itemdescription="' + item.itemDescription + '"' + 'data-itemupc="' + item.itemFullUPC + '">' + '<img class="img-responsive img-hover productImagesCategory" src="' + item.imageURL + '">' + '<h3>' + item.itemName + '</h3>' + '</a>' + '</div>';
                  }
              });
              $('#imagesCategoryProducts').hide().html(categoryImage).fadeIn('slow');
              closeNav();
          }

2 个答案:

答案 0 :(得分:1)

这可能会因为多种原因而中断。大部分与...有关,究竟是什么&amp;&amp;和||指向?

是吗:

if ( 
( item.itemCategory == 5 || item.itemCategory == 6 ) && 
( brandLetter == "C" && foodService == "N" ) ) {}

还是......

if ( 
item.itemCategory == 5 || 
( item.itemCategory == 6 && brandLetter == "C" && foodService == "N" ) ) {}

等等。

使用括号来阐明应该解决的条件。

答案 1 :(得分:0)

尝试((item.itemCategory == 5 || item.itemCategory == 6) && brandLetter == "C" && foodService == "N") {...