2012-09-11 81 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"); 
};