Wert bei Ajax Reload übernehmen

Moin moin,

ich steh gerade etwas auf dem Schlauch und bräuchte einmal einen Schubs in die richtige Richtung.

Ich habe auf der Produktdetailseite für einen Kunden eine individuelle Auswahlmöglichkeit geschaffen. Der ausgewählte Wert wird in ein verstecktes Textfeld geschrieben, welches dann beim “in den Warenkorb legen” zu den Produktinformationen hinzugefügt wird. Das war die einfachste Möglichkeit, einen Wert aus dem HTML/JS in die Produktvariable zu bekommen.

Funktioniert auch alles bleeeendend. Leider nur nicht, wenn ich eine Variante auswähle. Durch den AJAX Request wird das Textfeld wieder auf seinen intialen Wert zurückgesetzt, was natürlich nicht Sinn der Sache ist.

Ich habe nun versucht, mich in das Event “onRequestData” einzuhängen und den Wert zu speichern, allerdings scheine ich hier irgendwie einen Fehler zu machen … Könnt ihr einmal schauen und mir sagen, wie ich quasi kurz vor dem AjaxRequest den Wert aus dem Textfeld auslese und ihn nach dem AjaxRequest wieder einfüge?

var jQ = jQuery.noConflict();
jQ( document ).ready(function() {
    jQ.subscribe( "plugin/swAjaxVariant/onRequestData", function(data, me, response, values, location) {
        $response = $(jQ.parseHTML(response));
        jQ('.detail--additional-orderbasketfields-input-1 input').html(jQ(this).html($response.find('.detail--additional-orderbasketfields-input-1 input').html()));
    });
});

 

Lösung ohne programmieren zu müssen:

Einstellungen->Theme Manager->(Theme auswählen)->Theme konfigurieren->Konfiguration->Varianten Wechsel über Ajax

Ansonsten hab ich leider keinen Lösungsansatz falls der Variantenwechsel über Ajax laufen soll.

Ansonsten vl. mittels override: Modify jQuery plugins

Naja, aus meiner Sicht ist mittels Override ja das gleiche, wie wenn ich mich in das Event einhänge… Ich kann leider aus meiner Sicht die Aktualisierung des Feldes auch per Override nicht verhindern, weil das Textfeld in dem oberen Bereich liegt, der komplett von Ajax aktualisiert wird.

Häng dich an ein pre- Event, hol die Eingabe und Speicher sie nach dem Laden wieder im Textfeld.

viele Grüße 

1 „Gefällt mir“