Nel tuo ciclo for stai continuando a modificare, step dopo step, sempre lo stesso td e tr. Al td appendi di volta in volta del testo, il td lo appendi al tr (che non cambia mai) e quest'ultimo lo appendi al tbody. Dopo la prima append, quelle successive vengono scartate dato che il tr è già nel tbody.
Bisogna creare di volta in volta le istanze di questi nodi, ad esempio:
codice:
<html>
<script>
function SetTravelDetail_1(Data_Travel_Detail) {
document.getElementById("Rda_Travel_Row").style.visibility="visible";
TravelDetailBox = document.getElementById("Rda_Travel_Row_Tbody");
if (Data_Travel_Detail != "") {
var arrData_Travel_Detail = Data_Travel_Detail.split(",");
var bulkSize = 3;
for(var i = 0; i < arrData_Travel_Detail.length; i += bulkSize) {
var tr = document.createElement("tr");
for(var j = 0; j < bulkSize; j++) {
if(arrData_Travel_Detail[i+j] != null) {
var td = document.createElement("td");
var text = document.createTextNode(arrData_Travel_Detail[i+j]);
td.appendChild(text);
tr.appendChild(td);
}
}
TravelDetailBox.appendChild(tr);
}
}
}
function loadTravelData() {
SetTravelDetail_1("elem1,elem2,elem3,elem4,elem5,elem6,elem7,elem8,elem9,elem10");
}
</script>
<body onload="loadTravelData()">
<table id="Rda_Travel_Row">
<tbody id="Rda_Travel_Row_Tbody">
</tbody>
</table>
</body>
</html>
Qui ad esempio ne carico 3 alla volta per ogni riga. Nota che ogni riga ha un tr dedicato e ogni cella un td dedicato (come è logico che sia).