2014-01-22 78 views
0

我在jquery的陣列,並且想刪除基於ID或值字段從它的項目。如何刪除項目從2D陣列的jQuery

var AccountName = [ 
      {id: 0,value: "LUCKY'S WINDSCREENS"}, 
      {id: 1,value: "PALM MOTORS"}, 
      {id: 2,value: "REFLEX PANELBEATERS & SPRAYPAI"}, 
      {id: 3,value: "SADAF INVESTMENT T/A YUSUF MOH"} 
    ]; 

我該如何刪除ID和值出這個數組?

var id = $('#txtAccountID').val(); 

for (var i = 0; i < AccountName.length; i++) 
{ 
    if (AccountName[i] != "id") { 
    AccountName.splice(i, 1); 
    //break; 
    } 
} 

回答

0

我猜,你想從數組中刪除的對象,如果其ID或價值$('#txtAccountID').val()值匹配,

var id = $('#txtAccountID').val(); 
for (var i = 0; i < AccountName.length; i++){ 
    for(var key in AccountName[i]){ 
     if(key ==id || AccountName[i][key]== id){ 
      AccountName.splice(i,1); 
     } 
    } 
} 

見JS小提琴here

如果只想保持tha匹配元素然後

var id = 0; 
var temp = null; 
for (var i = 0; i < AccountName.length; i++){ 
    for(var key in AccountName[i]){ 
     if( key ==id || AccountName[i][key] == id){ 
      temp = AccountName[i]; 
     } 
    } 
} 
AccountName = temp; 

查找演示here

+0

底部一個創建id和值的對象,但我需要它在像陣列格式一個發佈在我的問題,因爲我使用這個自動完成的來源。有時會有更多的結果需要返回,格式需要看起來像[{,},{,}]; – Pomster