2012-09-11 98 views
0

有一个字符串正在制定像这样的 Item:ShortName:Tax,并且如果添加更多项目,它会附加到像Item:ShortName:Tax_Item2:ShortName2:Tax2这样的字符串,再添加一个,Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3等等。我想知道的是,我必须检查列表中是否存在项目,例如shirtjeans。这将是数组中的第一个用冒号分隔的数组。javascript/jquery在子数组中搜索?

我用this

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是在列表中。
如果它不清楚,这个列表拆分_包含一个数组(如您所见)和由:分隔的每个数组包含Itemname, ItemShortName, TaxOnItem,现在在所有这些小阵列中,我必须检查第一个包含ItemName查看是否存在特定物品!我怎样才能做到这一点?

回答

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!'); 
      } 
     }); 
} 

}​);​ 
1

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

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"); 
};