Avatar billede groyk Novice
28. december 2008 - 23:03 Der er 2 kommentarer og
1 løsning

variabel virker ikke i loop

Hej eksperter

Har følgende kode hvor jeg looper et dobbelt array igennem, men kan ikke få det til at spille.

function ClientSearch(value, e) {
    var input = GetTotalString(value,e);
    AjaxReq("POST", "js/datagrid/ajaxsearchkunde.php", {"input":input}, SearchKunde);
}

var d=document;
function gE(id){return d.getElementById(id)};
function gA(o,t){return o.getElementsByTagName(t)};

function SearchKunde(oHttp) {

    var oTmp = aTd = null, oCont = oDispl.cloneNode(false);
    eval("var oResp = " + oHttp.responseText);
    var aRows = oResp.rows;
    for (var i=0,j=aRows.length; i<j; i++) {
        oTmp = oTempl.cloneNode(true);
        oCont.appendChild(oTmp);
        aTd = gA(oTmp, "td");
       
        //var newArr = new Array();
        for (var ii in aRows[i]) {
        //for (var ii=0,jj=aRows[i].length; ii<jj; ii++) {
            aTd[0].firstChild.nodeValue = aRows[i][ii];
            //alert(ii);
        }
    }
    oDispl.parentNode.replaceChild(oCont, oDispl);
    oDispl = oCont;

    oResp = oResp.rows = null;

    if(i==0) hidediv("livesearch");
    else showdiv("livesearch");
}

var oTempl = oDispl = null;
window.onload = function() {
    oDispl = gE("userDispl");
    oTempl = gA(oDispl, "tr")[0];
    oDispl.removeChild(oTempl);
}



Det er i denne linie jeg har problemet

aTd[0].firstChild.nodeValue = aRows[i][ii];

aTd[0] skal ændres så det bliver en loopet counter, men når jeg indsætter en variabel i stedet for 0, så tror den jeg giver den et "navn / id" whatever. Det virker i hvert fald ikke.

Kort og godt er at jeg gerne vil loope ALLE rækker fra min Json request ud. Og antallet af rækker OG celler kan være forskelligt.

Takker på forhånd.
Avatar billede majbom Novice
29. december 2008 - 07:53 #1
hvad mener du med at den tror du tildeler den et navn/id? hvordan kan du se det?

er problemet bare at der ikke bliver skrevet noget i td'en?

hvad indeholder td'en inden du går igang?
Avatar billede groyk Novice
29. december 2008 - 09:24 #2
Kan kun se fejl meddelsen nå jeg forsøger det!

Ændret kodestykke
var iii = 0;
        for (var ii in aRows[i]) {
        //for (var ii=0,jj=aRows[i].length; ii<jj; ii++) {
            aTd[iii].firstChild.nodeValue = aRows[i][ii];
            //alert(ii);
            iii++;
        }

Fejl md.

Fejl: aTd[iii] is undefined
Kildefil: xxxxxx.js
Linje: 253
Avatar billede groyk Novice
29. december 2008 - 10:07 #3
Fandt problemet.

Tabellen var ikke stor nok!! :-)

Så er det jo ikke så mærkeligt at "td'en" ikke eksisterede!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester