Rolf B: jQuery array mit each(function) zusammenlegen

Beitrag lesen

Hallo Maxet,

gehört die textarea ins Array oder nicht? Dein Beispiel-Array scheint sie zu enthalten, dein Testoutput verwendet den 4. Eintrag aber nicht.

Wie gesagt: Es ist einfacher, wenn die Teile, die einen Array-Eintrag bilden, auch im HTML zu einer Einheit zusammengefasst sind. Das, was ich oben aufgeschrieben habe, sollte dann den von Dir gewünschten Zweck erfüllen.

Ein Hinweis zur Blockverwaltung: wenn Du Blöcke einblendest - warum? Wenn Du beispielsweise 10 Blöcke "auf Vorrat" im HTML hast, dann hast Du beim elften angeforderten Block verloren. In solchen Fällen setzt man besser nur einen Block ins HTML und fügt weitere Blöcke - falls nötig mit entsprechend angepassten Namen und IDs - per JavaScript hinzu. Das dynamische Hinzufügen wird durch fieldsets ebenfalls einfacher. Wenn die Struktur so aussieht:

<section id="fieldcontainer">
   <fieldset>...</fieldset>
   <fieldset>...</fieldset>
   <fieldset>...</fieldset>
   <fieldset>...</fieldset>
</section>

dann musst Du dem fieldContainer nur ein neues Fieldset hinzufügen (document.createElement("fieldset")) und das innerHTML des neuen fieldset aus einer Vorlage füllen. Das kann ein template-Element sein (nicht im Internet Explorer), oder einfach ein Vorlagenstring im JavaScript. Wenn Du Namen oder IDs anpassen musst, dann baust Du in den Vorlagenstring etwas ein wie $$$ oder $#$ - egal was, Hauptsache es wird nicht als normaler Text verwendet - und mit der replace-Funktion ersetzt Du das durch die laufende Nummer der Gruppe.

Rolf

--
sumpsi - posui - clusi