0

大家好,我有一些部门和部门有一些这样的数据

          Department
           Casual shoe
           formal shoe
           sports shoe

所以我想写一个 if 条件,我应该写一个这样的 if 条件

    <script type="text/javascript">
    $(document).ready(function () {
        $.getJSON("/api/ProductLayout", function (data) {
            $.each(data, function (idx, ele) {
                $("<img/>").attr({ src: ele.ImageURL }).appendTo("#makeMeScrollable");
                $("#makeMeScrollable").append('<span>' + ele.ProductName + '</span><h4>' + ele.Price + '$' + '</h4>');
                if (ele.Department == "Shoes") {
                    alert(2);
                    //$(".img_main").empty();
                    $("<img/>").attr({ src: ele.ImageURL }).appendTo("#Watches");
                    $("#Watches").append('<span>' + ele.ProductName + '</span><h4>' + ele.Price + '$' + '</h4>');
                }
                else if (ele.Department = "Wallets") {
                    alert(3);
                    $("<img/>").attr({ src: ele.ImageURL }).appendTo("#BackPacks");
                    $("#BackPacks").append('<span>' + ele.ProductName + '</span><h4>' + ele.Price + '$' + '</h4>');
                }
                else if (ele.Department = "Belts") {
                    alert(4);
                    $("<img/>").attr({ src: ele.ImageURL }).appendTo("#Belts");
                    $("#Belts").append('<span>' + ele.ProductName + '</span><h4>' + ele.Price + '$' + '</h4>');
                }
             });
        });
    });      

</script>

现在我想为鞋写一个 if 条件,如果(ele.Department == "Shoes")我应该得到其中包含 "shoe" 的所有部门的数据,我可以为此写一个条件吗

4

2 回答 2

2

回答您有关查找子字符串的问题..

我会尝试:

if(variableInQuestion.indexOf("shoes")!=-1)
{

}

你的两个 if 条件使用 = not == 你可能想解决这个问题。

更新:

再看你的问题。。

"Formal shoes"
"Casual shoes" 

你有可能想要一种endsWith("shoes")方法吗?如果是这样: JavaScript 中的 endsWith

于 2012-09-25T08:05:35.637 回答
1

我认为您可以使用正则表达式:

这对鞋子不区分大小写进行测试。(也匹配“shoesprostore”)

if (/shoes/i.test(ele.Department)) {
}

这测试单词 shoes不区分大小写。(匹配“大鞋”和“小鞋”)(编辑 4)

if (/\bshoes\b/i.test(ele.Department)) {
}

编辑:

这测试了单词 shoeshoes不区分大小写。

if (/\bshoes?\b/i.test(ele.Department)) {
}

\b : 单词的开始和结束

? : 前一个字符可能出现也可能不出现

i(在第二个 / 之后):不区分大小写

在这里查看更多http://www.w3schools.com/jsref/jsref_obj_regexp.asp

:)

编辑2:

感谢我的朋友 SandMan 纠正了语法不一致

编辑3:

也许您可以使用将正则表达式保存在全局范围内(在$(document).ready(...)语句之前)

var shoeTest = /shoes/i;然后

if (shoeTest.test(...))

于 2012-09-25T08:14:11.407 回答