2014-09-30 42 views
0

有問題我需要追加新的Valuse從用戶輸入點擊事件,我使用以下標記和代碼來做到這一點。但因爲使用.each()表正在加載一次又一次地重複使用。可否請您讓我知道我怎麼能阻止這一切,並添加(追加),只有新插入的值在添加新的數組項目到一個動態加載的表

<table> 
    <thead> 
     <tr>...</tr> 
    </thead> 
    <tbody id="compValues"> 

    </tbody> 
</table> 

var compareData = []; 
var data = { 
      compItem1 : uName, 
      compItem2 : uLName, 
      compItem3 : uIimage, 
      compItem4 : memberType, 
      compItem5 : planTarget, 
      compItem6 : selectedPlan, 
      compItem7 : selectedSTime, 
      compItem8 : historicDis, 
      compItem9 : projectsNumber, 
      compItem10: projectsCost, 
      compItem11: projectsRoads, 
      compItem12: projectsPhase 
}; 
     compareData.push(data); 

$.each(compareData, function (index, item) { 
    var eachrow = "<tr>" 
       + "<td>" + item["uName"] + "</td>" 
       + "<td>" + item["uLName"] + "</td>" 
       + "<td>" + item["uIimage"] + "</td>" 
       + "<td>" + item["planTarget"] + "</td>" 
       + "<td>" + item["selectedPlan"] + "</td>" 
       + "<td>" + item["selectedSTime"] + "</td>" 
       + "<td>" + item["historicDis"] + "</td>" 
       + "<td>" + item["projectsNumber"] + "</td>" 
       + "<td>" + item["projectsCost"] + "</td>" 
       + "<td>" + item["projectsRoads"] + "</td>" 
       + "<td>" + item["projectsPhase"] + "</td>" 
       + "</tr>"; 
    $('#compValues').append(eachrow); 
    }); 

感謝

+0

你遍歷列表中爲每個元素,這可能是給你11個輸出爲每個。 http://api.jquery.com/each/ – Petro 2014-09-30 23:54:29

+0

感謝Petro我已經提到,這是因爲使用.each(),但我該如何解決這個問題呢? – Suffii 2014-10-01 00:02:23

+0

你在做什麼var變量指數 – Petro 2014-10-01 00:04:11

回答

0

如果有一個獨特的密鑰或ID爲項目你可以檢查它是否是在表中的任何地方已經可以將其作爲對TR的ID,只是在代碼檢查,如果它已經存在的東西,如:

//if the unique key or id is uName, then do something like this 
if ($('tr#' + item["uName"]).length === 0) { 
    var eachrow = "<tr id='"+ item[uName] +"'>" 
      + "<td>" + item["uName"] + "</td>" 
      + "<td>" + item["uLName"] + "</td>" 
      + "<td>" + item["uIimage"] + "</td>" 
      + "<td>" + item["planTarget"] + "</td>" 
      + "<td>" + item["selectedPlan"] + "</td>" 
      + "<td>" + item["selectedSTime"] + "</td>" 
      + "<td>" + item["historicDis"] + "</td>" 
      + "<td>" + item["projectsNumber"] + "</td>" 
      + "<td>" + item["projectsCost"] + "</td>" 
      + "<td>" + item["projectsRoads"] + "</td>" 
      + "<td>" + item["projectsPhase"] + "</td>" 
      + "</tr>"; 
    $('#compValues').append(eachrow); 
} 
+0

嗨triangulito謝謝你的回覆,但這變得非常複雜!唯一密鑰或ID是什麼意思?我沒有從數據庫中得到任何東西! – Suffii 2014-10-01 00:01:08

+0

我的意思是如果你有數據庫創建的id,或者uName對於每個項目或類似的東西都是唯一的。 – triangulito 2014-10-01 00:04:04