Opfølgning på tidligere tråd
Jeg fik tidligere hjælp til at noget JSON her på http://www.eksperten.dk/spm/826213, men jeg har ikke kunne finde ud af hvorfor jeg ikke får det korekte id med i mine event handlers.Lidt kode :
var isInserted = false;
var ary;
function listRoles(jsonObject)
{
if(isInserted){return;}
else{isInserted = true;}
var rowParent = document.getElementById("medlemstabel").getElementsByTagName("tbody")[0];//finder tbody-elementet
var klonNode = rowParent.getElementsByTagName("tr")[1];
var newRow;
var newTd;
var newButton;
var ua = navigator.userAgent.toLowerCase();
var displayType = ua.indexOf("msie")>-1 && ua.indexOf("opera") == -1 ? "block" : "table-row";
ary = jsonObject.users;
for(i=0,im=ary.length;im>i;i++)
{
newRow = klonNode.cloneNode(true);
newRow.style.display = displayType;
newTd = newRow.getElementsByTagName("td");
for(j=0;4>j;j++)
{
newTd[j].firstChild.nodeValue = ary[i][j];
}
rowParent.appendChild(newRow);
newButton = newRow.getElementsByTagName("input");
var idx = i;
insertEvent(newButton[0], "click", function(){ajaxEdit(ary[idx][0])});
insertEvent(newButton[1], "click", function(){ajaxDelete(ary[idx][0])});
}
}
function insertEvent(elm, evnt, func)
{
if(elm.addEventListener && !elm.attachEvent)//DOM-compliant
{
elm.addEventListener(evnt, func, true);
}
else if(elm.attachEvent)//M$-compliant
{
elm.attachEvent("on"+evnt, func);
}
else//andet
{
elm["on"+evnt] = func;
}
}
function ajaxDelete(intId)
{
alert("Dette vil med tiden slette en record med id "+intId+" !");
}
function ajaxEdit(intId)
{
alert("Dette vil med tiden hente en record til redigering med id "+intId+" !");
}
problemet er at der hvor jeg sætter event handler på mine image buttons og tilføjer et id fra min JSON streng der sættes den id'et fra sidste record istedet for fra den record der er tale om.
Så hvis jeg har 3 records i min database med ideer 1, 2 og 3 så er det, det sidste id, 3 i dette tilfælde der udskrives i min alert.
Hvad gør jeg forkert og hvad skal der til for at få det til at virke ?
