如何匹配字符串中的子字符串并在Jquery的If Condition中等于它?

时间:2012-09-25 07:56:13

标签: javascript jquery

我所有的东西都有部门和部门有这样的数据

          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条件if if(ele.Department ==“Shoes”)我应该得到其中有“鞋”的deaprtments的所有数据,jow我可以为此写一个条件< / p>

2 个答案:

答案 0 :(得分:2)

回答关于寻找子字符串的问题..

我会尝试:

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

}

你的两个if条件使用= not ==你可能想要修复它。

更新:

再次查看你的问题..

"Formal shoes"
"Casual shoes" 

您是否可能需要endsWith("shoes")方法? 如果是这样:  endsWith in JavaScript

答案 1 :(得分:1)

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

此测试不区分大小写。 (也匹配“shoesprostore”)

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

此测试对 不区分大小写。 (匹配“Big Shoes”和“Small Shoes”)(编辑4)

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

编辑:

此测试 不区分大小写。

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(...))