jQuery each Variable

BocaSpanky

Mitglied
Javascript:
var werte = ['wert1', 'wert2', 'wert3', 'wert4', 'wert5', 'wert6'];

$(value.special).each(function(key, val) {

    string += '<img src="/images/'+val.werte[5]+'.webp" alt="" title="" />';

});

Hi,

ich bekomme ein OBJ value.special zurück. Dieses möchte ich durchlaufen und dann den 5ten Wert aus dem Obj ausgeben. (werte[5]).
Mein Problem ist, das ich die Syntax nicht hinbekomme "val.werte[5]".

val ist ja in dem Fall das Objekt und werte[5] = 'wert6' als String.
Ich möchte gern den String 'wert6' als Selector aus dem Object val.

Ich hoffe das ist eingermaßen verständlich ausgedrückt. Ich hab keine Ahnung mehr nach was ich goooglen soll.

Hab schon sämtliches einfahc mal ausprobiert: val.[werte[5]], [val.werte[5]] usw.

Danke schonmal für eure Hilfe
 

Andreas-B

Mitglied
Ohne zu wissen, was value.special ist, also welche Elemente damit selektiert werden, kann ich leider nicht helfen.

Was steht denn in string in Zeile 6?
Was steht jeweils in val?
 

BocaSpanky

Mitglied
Javascript:
special: {[
    0: {
        wert1: "loremipsum1"
        wert2: "loremipsum2"
        wert3: "loremipsum3"
        wert4: "loremipsum4"
        wert5: "loremipsum5"
        wert6: "loremipsum6"
    },
    1: {
        wert1: "loremipsum7"
        wert2: "loremipsum8"
        wert3: "loremipsum9"
        wert4: "loremipsum10"
        wert5: "loremipsum11"
        wert6: "loremipsum12"
    }
]}

var werte = ['wert1', 'wert2', 'wert3', 'wert4', 'wert5', 'wert6'];
$(value.special).each(function(key, val) {
    string += '<img src="/images/'+val.werte[5]+'.webp" alt="" title="" />';
});

Hi,

so ungefähr. Das würde bedeuten wenn ich in Zeile 22 zb val.wert1 stehen lassen bekomme ich ja als Ergebnis "loremipsum1" bekommen.

Nachdem ich aber für die Auswahl nur nen Integer bekomme 0-5, würde ich gerne mit Hilfe des Arrays "werte" zb "wert1" dynamisch einfügen ala "val.werte[0]".
 

Andreas-B

Mitglied
Es tut mir leid, ich erkenne immer noch nicht den Zusammenhang.

Was ist denn in value drin?
Außerdem ist deine Syntax für special falsch.
 

Andreas-B

Mitglied
Nachtrag:
Meinst du sowas in der Art?

Javascript:
var special = [
   {
        wert1: "loremipsum1",
        wert2: "loremipsum2",
        wert3: "loremipsum3",
        wert4: "loremipsum4",
        wert5: "loremipsum5",
        wert6: "loremipsum6"
    },
    {
        wert1: "loremipsum7",
        wert2: "loremipsum8",
        wert3: "loremipsum9",
        wert4: "loremipsum10",
        wert5: "loremipsum11",
        wert6: "loremipsum12"
    }
];

var werte = ['wert1', 'wert2', 'wert3', 'wert4', 'wert5', 'wert6'];

$(special).each(function(key, val) {
   var title = val[werte[5]];
   var string = '<img src="/images/' + title + '.webp" alt="" title="" />';
});
 

BocaSpanky

Mitglied
Javascript:
var value = [
   {
      "id":"72",
      "name":"Testergebnis",
      "category":"1"
      "special":[
         {
            "wert1":"loremipsum1",
            "wert2":"loremipsum2",
            "wert3":"loremipsum3",
            "wert4":"loremipsum4",
            "wert5":"loremipsum5",
            "wert6":"loremipsum6"
         },
         {
            "wert1":"loremipsum7",
            "wert2":"loremipsum8",
            "wert3":"loremipsum9",
            "wert4":"loremipsum10",
            "wert5":"loremipsum11",
            "wert6":"loremipsum12"
         }
      ]
   }
]

Ich hatte das vorher nur schnell aus der Console kopiert. Hier also "value".

Anhand von value.category würde ich gerne den dazugehörigen value.special.wert1 auslesen, weil category ja in dem Fall "1" ist. Bzw ja der zweite Wert.
 
Zuletzt bearbeitet:

BocaSpanky

Mitglied
Javascript:
var werte = ['wert1', 'wert2', 'wert3', 'wert4', 'wert5', 'wert6'];

$(special).each(function(key, val) {
   var string = '<img src="/images/' + val[werte[value.category]]+ '.webp" alt="" title="" />';
});
Wäre das so richtig meinst du?
 
Zuletzt bearbeitet:

Andreas-B

Mitglied
genau.
so:
Javascript:
var value = {
      "id":"72",
      "name":"Testergebnis",
      "category":"1",
      "special": [
         {
            "wert1":"loremipsum1",
            "wert2":"loremipsum2",
            "wert3":"loremipsum3",
            "wert4":"loremipsum4",
            "wert5":"loremipsum5",
            "wert6":"loremipsum6"
         },
         {
            "wert1":"loremipsum7",
            "wert2":"loremipsum8",
            "wert3":"loremipsum9",
            "wert4":"loremipsum10",
            "wert5":"loremipsum11",
            "wert6":"loremipsum12"
         }
      ]
};

var werte = ['wert1', 'wert2', 'wert3', 'wert4', 'wert5', 'wert6'];

$(value.special).each(function(key, val) {
   var string = '<img src="/images/' + val[werte[value.category]] + '.webp" alt="" title="" />';
   console.log({string})
});

ausfühlich würde das dann so aussehen:
Javascript:
   var category = value.category;
   var wert = werte[category];
   var title = val[wert];
   var string = '<img src="/images/' + title + '.webp" alt="" title="" />';
 

BocaSpanky

Mitglied
Danke dir.
Da war ich ja mit meinem Versuche

Javascript:
val.[werte[value.category]]

statt

Javascript:
val[werte[value.category]]

gar nich soweit weg... und dennoch einfach falsch.
Danke für deine Mühen.
 

Neue Beiträge