En mi ejemplo si se concatena correctamente!!
envia el id del bucle actual pero no la descripcion del bucle actual sino ultima.
no me gusta pone mucho codigo pero en este caso quizas sea lo mejor para que me entiendan:
(el resto del codigo esta bien, funciona bien)
Código PHP:
for (i = 0; i < oRecordValues.length; i++) {
var divA = document.createElement("div");
divA.setAttribute("class","recordResult_container");
divA.setAttribute("id","record"+oRecordValues[i].getAttribute("id"));
var divB = document.createElement("div");
divB.setAttribute("class","recordResult_title");
var table1 = document.createElement("table");
var tr1 = document.createElement("tr");
tr1.setAttribute("class","bold");
var description="";
for (j = 0; j < arrayTitle.length; j++) {
recordChild = oRecordValues[i].getElementsByTagName(arrayTitle[j]);
var td1 = document.createElement("td");
var newText1 = document.createTextNode(recordChild[0].childNodes[0].nodeValue);
td1.appendChild(newText1);
tr1.appendChild(td1);
table1.appendChild(tr1);
separo los campos con un guion
description+=recordChild[0].childNodes[0].nodeValue+" - ";
}
divA.addEventListener("click",function(event){
//this hace referencia a divA
id = this.id.substring(6);
//un ejemplo de description que posee los campos obtenidos en el for de arriba
//101 - analisis de sangre -
//ahora quito los ultimos 3 caracteres extras ( - )
description = description.substring(0,description.length-3);
selectionCallback(id, description);
}, false);
for (j = 0; j < arrayDescr.length; j++) {
recordChild = oRecordValues[i].getElementsByTagName(arrayDescr[j]);
var tr2 = document.createElement("tr");
var td1 = document.createElement("td");
var newText1 = document.createTextNode(recordChild[0].nodeName+":");
td1.appendChild(newText1);
var td2 = document.createElement("td");
var newText2 = document.createTextNode(recordChild[0].childNodes[0].nodeValue);
td2.appendChild(newText2);
tr2.appendChild(td1);
tr2.appendChild(td2);
table1.appendChild(tr2);
}
divB.appendChild(table1);
divA.appendChild(divB);
oFinderResults.appendChild(divA);
}
el problema en esta linea, el id siempre es diferente pero la descripcion siempre le envia la del ultimo bucle.
selectionCallback(id, description);