我有多個記錄數組,每個記錄有ID,事件名稱和客戶名稱。我使用的算法似乎沒有按照我想要的方式工作。在我開始循環數組之前,我在循環外設置了空變量var eventId;
然後我開始循環,並在循環中我有多個if語句。因此,如果eventId爲空,我想在事件名稱後面附加tr,並在其下面帶有客戶名稱的另一個tr。然後下一次,如果我的eventId不爲空,我想檢查名稱是否與記錄匹配,如果匹配,我只想在現有tr內附加td並輸出客戶名稱。如果它們不匹配,我想輸出帶有事件名稱的新tr和帶有客戶名稱的新tr。我在這裏有工作示例,它看起來像我在屏幕上輸出兩次Test 1
,我不想那樣。我應該只在該事件下有一次活動名稱和該事件的所有客戶。 這裏是我的代碼: https://jsfiddle.net/dmilos89/t1v2r8jm/3/按照所需順序從數組中輸出值?
請如果你看到我的代碼打破讓我知道。我認爲我有追加元素的問題,或者我的算法缺少一些東西。提前致謝。
Javascript代碼:
$(document).ready(function() {
var myRes = [];
myRes.push({'myId':"42",'eventName':"Test 1",'rCustomer':"Mike, Allan"});
myRes.push({'myId':"42",'eventName':"Test 1",'rCustumer':"Gates, Bill"});
myRes.push({'myId':"19",'eventName':"Spring 2016",'rCustomer':"John, Bill"});
myRes.push({'myId':"19",'eventName':"Spring 2016",'rCustomer':"Adams, Ron"});
myRes.push({'myId':"31",'eventName':"May Test 1",'rCustomer':"Steve, Marie"});
myRes.push({'myId':"42",'eventName':"Test 1",'rCustomer':"Ariel, Bill"});
myRes.push({'myId':"32",'eventName':"Fall 2016",'rCustomer':"Ron, Nill"});
myRes.push({'myId':"32",'eventName':"Fall 2016",'rCustomer':"Kim, Alen"});
myRes.push({'myId':"32",'eventName':"Fall 2016",'rCustomer':"Will, Huges"});
myRes.push({'myId':"32",'eventName':"Fall 2016",'rCustomer':"Seth, Peak"});
var eventId = '';
var count = 1;
for(var i=0; i< myRes.length; i++){
if(eventId != ''){
if(eventId == myRes[i].myId){
$('#row_' + count).append('<td>'+myRes[i].rCustomer+'</td>');
}else{
eventId = myRes[i].myId;
count++;
$('.myReservation').append('<tr><td><b>Event: '+myRes[i].eventName+'</b></td></tr>');
$('.myReservation').append('<tr id="row_"'+count+'><td>'+myRes[i].rCustomer+'</td></tr>');
}
}else{
eventId = myRes[i].myId;
$('.myReservation').append('<tr><td><b>Event: '+myRes[i].eventName+'</b></td></tr>');
$('.myReservation').append('<tr id="row_"'+count+'><td>'+myRes[i].rCustomer+'</td></tr>');
}
}
});
HTML代碼:
<table>
<tbody class="myReservation">
</tbody>
</table>
有關問題本身張貼相關的代碼是什麼??? –
@ A.Wolff我沒有看到兩次編寫代碼的觀點,我創建了所有測試所需數據的工作示例。 –
如果您在未來遇到其他問題,並通過本網站搜索並找到與答案相似的問題,並且都指向任何外部死鏈接,您總是會發現相關代碼始終存在問題......現在您擁有更多代表500以上,你應該知道。 –