Mit JQuery $.each einen String formen

kramoo

Mitglied
Wie kann ich mit $.each einen String formen der genau so aussieht?

['inhalt', 'inhalt', 'inhalt' ]

Also der Inhalt ist dynamisch und soll mit value ersetzt werden.

Code:
$.each( data.result, function(key, value) {
					
tabellenFelder =  + value;
	
});

tabellenFelder = + value; funktioniert ja nicht so wie ich wollte.

tabellenFelder sollte einfach den String mit [ und ] und den inhalt von value in ' ', gesetzt beinhalten so dass das Ergebniss wie folgt aussieht.

tabellenFelder = [ 'inhalt1', 'inhalt2', 'inhalt3', ..... ]
 
Also erstmal: Du verwendest nicht den "+=" Operator, welcher die rechte Seite zur linken konkatenieren würde, sondern den unären "+" Operator, welcher praktisch das Vorzeichen darstellt und in dem Fall nichts weiter bewirkt als das der Interpreter verzweifelt versucht "value" in eine Zahl umzuwandeln und anschließend "tabllenFelder" zuzuweisen.

Mir fallen zwei Arten ein, wie du das Lösen könntest.

1. String Konkatenation
Javascript:
var output = "[";

$.each(data, function(key, value) {
	output += "'" + value + "',";
});

//Das letzte Komma muss weg
output = output.substring(0, output.length - 1);

output += "]";

2. Das ganze als Array machen und toString() benutzen
Javascript:
var output = [];

$.each(data, function(key, value) {
	output.push("'" + value + "'");
});

output = "[" + output.toString() + "]";
 
Danke für deine HILFE aber leider funktioniert es noch nicht. Dein Code funktioniert schon aber habe herausgefunden das ich statt einen string ein string array mit dem Format brauche.

Kannst du mir da noch mal helfen bitte.
 
Dann musst du nur die 2 Variante etwas abändern.

Javascript:
//Leeres Array
var arr = [];
 
$.each(data, function(key, value) {
    //Wert an Array anhängen
    arr.push(value);
});
 
Oh ja Danke damit geht es!

Es ist schon sehr schwierig wenn man php,javascript,sql zu gleich lernen muss.
Gut das ich wenigsten html und css perfekt kann. uffff.
 
Zurück