0

有一个字符串正在制定类似这样的 Item:ShortName:Tax内容,如果添加更多项目,则将其附加到字符串 like Item:ShortName:Tax_Item2:ShortName2:Tax2,再添加一个,Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3依此类推。我想知道的是,我必须检查列表中是否存在某个项目,例如shirt,或jeans。当用冒号分隔时,它将是数组中的第一个。

我用过这个

var list = "Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3_Item4:ShortName4:Tax4";

$(document).ready(function () {
    var arg = 'Item2';
    findItem(arg);
    fucntion findItem(argument) {
        $.each(list.split('_'), function () {
            if (this.split(':')[0] == arg) {
                alert('Item found!');
            }
        };
        };

但是警报没有出现,但Item2在列表中。
如果不清楚,这个列表拆分_包含一个数组(如您所见)并且每个数组由:contains分隔Itemname, ItemShortName, TaxOnItem,现在在所有这些小数组中,我必须检查包含的第一个数组ItemName以查看是否有特定的项目存在与否!我怎样才能做到这一点?

4

3 回答 3

1

您确实意识到您的代码中有错误, fucntion findItem(argument) { } 认为您的意思是“函数”。

于 2012-09-11T10:43:26.407 回答
0

在这里:我稍微重新格式化重组了你的代码。试试这个:

var list = "Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3_Item4:ShortName4:Tax4";

function findItem(argument) {
    list.split("_").forEach(function(subList){
        if(subList.split(":")[0] == argument) { 
             alert("Item found!");
         }
    });
};

$(document).ready(function () {
    findItem("Item2");
};
于 2012-09-11T10:43:43.850 回答
0

你错过了一些{(以及一个错字。控制台日志告诉你这一切!

$(document).ready(function () {

    var list = "Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3_Item4:ShortName4:Tax4";
    var arg = 'Item2';
    findItem(arg);

    function findItem(argument) {
        $.each(list.split('_'), function () {
            if (this.split(':')[0] == arg) {
                alert('Item found!');
            }
        });
}

}​);​
于 2012-09-11T10:44:37.733 回答