Autor |
Nachricht |
alcopix
Threadersteller
Dabei seit: 27.08.2007
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.04.2008 10:42
Titel [AJAX] Mehrere Felder aktualisieren |
|
|
Hallo,
ich aktualisiere in einer Rechnungs-Seite einen Artikel mittels AJAX (prototype). Basierend auf der Aktualisierung möchte ich nunmehr, dass sich der Nettopreis bzw. MwSt. und Endpreis ebenfalls mitaktualisiert. Also mittels JS, aber ohne Abfrage eines externen Scripts.
Hat jemand ggf. eine Inspiration, wie ich das elegant und handy lösen kann?
Grüße...
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 28.04.2008 10:47
Titel
|
|
|
Hmjam an sowas sitze ich auch gerade. Ich hab' das aber ziemlich platt gelöst, in dem ich einfach die einzelen Varianten eines Items als HTML rausrendere, und zwar alle Daten einer Variante in einem <div> versehen mit der einer eindeutigen ID. Dann kannst du die per CSS ausblenden und dann per Javascript ziemlich leicht adressieren.
Da du aber sowieso mit Ajax arbeitest, gibts auch ne elegantere, einfachere Alternative: die Zielcontainer bereits anzulegen (div id="preis", div id="stats" etc... ) und dann mit Content aus einer Datasource zu füllen, bspw. einem JSON-Objekt/Array. Mit prototype geht das ziemlich ja dann ziemlich einfach.
|
|
|
|
|
Anzeige
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Mo 28.04.2008 10:52
Titel
|
|
|
nebenbei erklär mir mal was "wie kann man das handy lösen" schon wieder für n moderschnack is bin nicht mehr der jüngste.
so, nu aber zu deinem problem. so wie du es schreibst, ist es ein reines js-problem, was du da hast, da du ja keine extrenen scripte ergo nichts nachladen willst.
du solltes deinem nettopreis, deiner steuer und deinem bruttopreis jeweils eine id geben. und dann kannst du, wenn sich was ändert z.b. mit document.getElementById("nettopreis").innerHtml = neuerpreis; diesen verändern. die berechnung ebenfalls mit js. das auslösen des berechnens mit entsprechendem event-handler. z.b.: sollte ein feld, was relevant ist für die berechnung verlassen werden: onBlur="neuerPreis(this.value)";
so, und nu noch die kommentare der fallback-fetischisten bidde...
(edit: boah, hab ich soooo langsam geschrieben..?)
Zuletzt bearbeitet von pixelpapst303 am Mo 28.04.2008 10:53, insgesamt 1-mal bearbeitet
|
|
|
|
|
alcopix
Threadersteller
Dabei seit: 27.08.2007
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.04.2008 10:53
Titel
|
|
|
bacon hat geschrieben: | Hmjam an sowas sitze ich auch gerade. Ich hab' das aber ziemlich platt gelöst, in dem ich einfach die einzelen Varianten eines Items als HTML rausrendere, und zwar alle Daten einer Variante in einem <div> versehen mit der einer eindeutigen ID. Dann kannst du die per CSS ausblenden und dann per Javascript ziemlich leicht adressieren.
Da du aber sowieso mit Ajax arbeitest, gibts auch ne elegantere, einfachere Alternative: die Zielcontainer bereits anzulegen (div id="preis", div id="stats" etc... ) und dann mit Content aus einer Datasource zu füllen, bspw. einem JSON-Objekt/Array. Mit prototype geht das ziemlich ja dann ziemlich einfach. |
Ah ok, aber ich weiß jetzt nicht so genau, wie ich den verschiedenen Zielcontainern verschiedene Werte aus der Source übergebe.
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 28.04.2008 10:56
Titel
|
|
|
so ähnlich:
Code: |
onSuccess = function ( transport )
{
var yourjson = transport.responseText.evalJSON();
var select = $('deinSchalter');
select.observe('change', function (ev)
{
$('Price').update ( yourjson.data[select.getValue()].price );
$('Stats').update( ....);
}
}
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Ajax] Prototype Funktion Ajax.Updater - Brauche Hilfe
Felder ein-/ausblenden auf Mausklick
DropDown felder formatieren
chkFormular mehrere Felder
Vista + IE 7: Input Felder
SQL Datenbank Felder leeren
|
|