Sponsor-Board.de

Normale Version: [Hilfe] jQuery mehrdimensionales Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Abend Leute,
habe nen Problem, bei dem ich durch Google nicht weiterkomme Wink

Ich hab nen mehrdimensionales Array, das übergeordnete Array heißt produktAll, für jedes Produkt soll ein Array geschrieben werden (jeweils produktOne) welches dann immer in produktAll geschrieben werden soll, dann soll produktAll in nem div ausgegeben werden :

Code:
$(document).ready(function () {
    var produktAll = new Array;
    $("a.produktj").click(function () {
        var produktOne = new Array;
                    
        var id = $(this).data("id");
        var menge = $(this).data("menge");
        var preis = $(this).data("preis");
        var name = $(this).data("name");
        
        var index = $.inArray(produktOne, produktAll);
            if(index == -1) {
                //wenn nicht gefunden, adden
                produktOne[id] = id;
                produktOne[menge] = menge;
                produktOne[preis] = preis;
                produktOne[name] = name;
                produktOne[anzahl] = 1;
                produktAll.push(produktOne);
            } else {
                //falls vorhanden anzahl +1
                produktAll[index][anzahl]++;
            }
                    
            $.each(produktAll, function(i,v){
                $.each(v, function(i2,v2){
                    $("#warehier").append(v2);
                });
            });
                    
    });
});


leider klappt das nicht, es soll das Array halt in den Div schreiben, denke man weiß was gemeint ist Wink bräuchte dringend Hilfe

Über jeden hilfreichen Beitrag dankbar!

mfg Aaron

Code:
produktOne.push(produktAll);

// sollte heißen

produktAll.push(produktOne);


Wenn ich das jetzt so auf die schnelle richtig interpretiert habe.

ich hab das mal geändert, danke Wink

Leider klappt das ganze immernoch nicht ...
Schrecklich das es hier kein Syntaxhighligthing gibt...

Code:
$(document).ready(function () {
    var produktAll = {};
    $("a.produktj").click(function () {
        var produktOne = {};
                    
        var id = $(this).data("id");
        var menge = $(this).data("menge");
        var preis = $(this).data("preis");
        var name = $(this).data("name");
        
        var index = $.inArray(produktOne, produktAll);
            if(index == -1) {
                //wenn nicht gefunden, adden
                produktOne['id'] = id;
                produktOne['menge'] = menge;
                produktOne['preis'] = preis;
                produktOne['name'] = name;
                produktOne['anzahl'] = 1;
                produktAll.push(produktOne);
            } else {
                //falls vorhanden anzahl +1
                produktAll[index]['anzahl']++;
            }
                    
            $.each(produktAll, function(i,v){
                $.each(v, function(i2,v2){
                    $("#warehier").append(v2);
                });
            });
                    
    });
});

schau mal nach, ob die funktion inArray auch einen index zurückliefert. Das hört sich für mich nur nach einer boolschen rückgabe an.
Dementsprechend musst du dann auch die If-Abfrage gestalten, -1 gibts da nicht, nur true und false
Nein, [Link: Registrierung erforderlich] gibt schon das richtige zurück.
nimmt aber nur wert und sucht in einem array
jQuery.inArray( value, array [, fromIndex ] )

Vielleicht liegt es daran, dass er das Array nicht verarbeiten kann wenn man das anstatt einem Wertes übergibt.
Also ich glaube es war ein anderer Fehler (schau in meinem Post von 14:59), dort wird nämlich versucht mit einer nicht vorhandenen Variable zu arbeiten und die Restlichen Keys ergeben auch keinen Sinn, weil es Variablen sind. Es sollten, denke ich mal, feste Keys sein.
hab das ganze mal von dir übernommen Loster, leider noch keinen Erfolg

welche Keys ergeben keinen Sinn ? Diese : produktOne[id] ?
Die sind ja fest, ihnen werden die Variablen zugewiesen

gibts bei Javascript nicht irgendeinen Errorlog ?
mit strg + umschalt + j kommst du in die fehlerkonsole bei firefox, da siehste dann alles aufgezeichneten fehler. also am besten konsole clearen und das script nochmal neuaufrufen, dann hast du alle fehler dort.
Seiten: 1 2
Referenz-URLs