| 

.NET C# Java Javascript Exception

4
HI leute,

ich möchte dynamisch eine select erstellen mit verschiedenen Adressen in den Options, und dann je nach auswahl mit Javascript dann die verschiedenen Adressfelder , sprich Name Nachname adresse email usw. in eine Formular übertragen. Also von php seiten her seh ich da kein problem..wo ich aber nicht weiterkomme ist wie kann ich ein array bzw. mehrere values an js übermitteln?

ich hab es so versucht

<select>
<option value='[1,2,3,4]'>some_text</option>
</select>


da hat er mit bei meiner jquery abfrage var test = $(this).val(); alert(test[0])

die erste eckige [ ausgeworfen .

und so

<select>
<option value='1,2,3,4'>some_text</option>
</select>


wirft er bei alert(test[3])...irgendwie logischerweise ein komma aus.

Könnt ihr mir bitte weiter helfen wie ich das am besten bewerkstellige.


Danke schonmal
11.11.2011
Delueg 31 1 3
7 Antworten
2
Hallo, ich hoffe ich hab das richtig verstanden:

Du hast mehrere Adressen bestehend aus plz, ort, strasse, hausnummer. Ich stell mir jetzt vor du hast eine Tabelle in der Datenbank, "Adressbuch" in der diese Daten alle drinstehen.

Wenn dem so ist, wäre es nicht einfacher in die <option> Tags einfach die ID eines Adressdatensatzes einzutragen und hinterher aus der DB zu laden und DANN in das Form eintragen?

<select name='adressbuch' id='adressbuch'>
<option value='37'>Musterstrasse 1</option>
</select>


Dann postest du einfach die ID der Adresse an Seite X, baust die Adresse zusammen und übergibst die Werte an dein Formular.

Schreib einfach ein Kommentar falls ich dich falsch verstanden habe und hilf mir auf die Sprünge :)

*edit*
Kannst du irgendwo ein Screenshot hochladen? Dann führe ich das noch ein wenig aus und biete dir eine Lösung an führ das nachlade Problem.

Im Prinzip könntest du es mit jQuery relativ einfach lösen, das benutzt du ja eh schon. Spricht etwas dagegen die Dropdown Box gegen einen Button zu ersetzen der eine Auswahlliste von Adressen anzeigt und nach der Auswahl die Plz / Ort / Strasse Felder gefüllt werden? ca so:

Link zum Bild

Grüße
11.11.2011
Nicolai Schönberg 2,4k 2 9
ne im grunde hast du recht und das war auch meine erste idee....doch das problem was ich dabei habe ist dass das nicht das ganze formular ist... also ich habe 2 mal diese adressbuch funktion und noch weitere 25 felder.... jetzt hab ich die erfahrung gemacht wenn ich etwas an php schicke und die seite neu aufgebaut wird das alles aus den feldern gelöscht ist...naja ich könnte bei der 2ten adressbuch funktion wieder alle werte mitschicken an php.... da hab ich aber das problem das ich in php ned so der oberflieger bin..und mich das viel zeit kostet bis es funzt.....

Delueg 11.11.2011
vielleicht mache ich es echt so das ich dem user im vornherein frage ob er adressen übernhemen will bevor er zum eigtl formular kommt....danke..ich glaube das ist die schönste lösung...
Delueg 11.11.2011
Hm ich hab meine Antwort nochmal editiert. Vll kannst du trotzdem daraus Nutzen ziehen, auch wenn du schon eine Lösung hast.
Nicolai Schönberg 11.11.2011
1
ich hab einen weg gefunden aber finde ich diese lösung eher unschön und umständlich!

vielleicht habt ihr einen besseren lösungsvorschlag?

mein code
<input type='hidden' id='cola-adresse' value='Musterstrasse 14' />

<select name='adressbuch' id='adressbuch'>

<option value='cola'>haha</option>

</select>



im js
var wert = $(this).val()

var strasse = $("#"+wert+"-adresse").val()

alert(strasse)


es wird musterstrasse 14 ausgegeben aber das wär dann doch ziemlich aufwendig bei massig an feldern...bessere idee?
11.11.2011
Delueg 31 1 3
0
hi hier der screenshot screenshot der seite..... es ist echt n bissl tricky für mich weil ja 2mal die adressbuch funktion drinne sein soll bei Abweichende abholadresse und empfänger und am besten..falls mein eine neue adresse einträgt das man sie auch gleich in der db abspeichern kann und und und .... fordert mich grad echt heraus GET und POST usw... danke für die Hilfe mach das erst seit nem halben jahr... diese scrollbalken sind normal nicht da und der footer is natürlich auch unten....die seite baut sich halt durch jeweils "nur" einen ;) "nächster schritt" button auf.... danke
11.11.2011
Delueg 31 1 3
0
Leider ist das hier zu lang für ein Comment:
Ja ok so hatte ich mir das ungefähr gedacht. Schau dir bitte nochmal meine erste Antwort an, ich habe sie editiert und weiter ausgeführt. Bitte schaue dir auch das Bild an.

Was das neue Anlegen von Adressen angeht .. gut. Da muss man ein wenig Kreativ werden um die optimale Stelle zu finden.

Du könntest auf deine unterschiedlichen Seiten übriegens auch ein Verstecktes Feld hinterlegen, in das du alle Werte die eingegeben wurden speicherst:

Auf der ersten seite ist es leer, dann machst du einen Post. Auf der 2. Seite steht in dem versteckten feld ein String wie z.b. "Kundennummer=1234&anderesFeld=Hallo"

Auf die 3. Seite überträgst du dann wieder alle Felder mit Post (inkl dem versteckten Feld) und baust den String weiter zusammen:

Neuer Wert für verstecktes Feld = alter Wert + neue Formular Werte

Am Ende hast du dann alle Werte in dem versteckten Feld und brauchst nur ganz zum schluss einmal speichern / in die DB speichern. Neue Adressen anlegen würde ich in einen anderen Bereich auslagern (Z.b. in den, den ich in meinem Konzept Bild als Popup markiert habe. Einfach ein Button "Neue Adresse")

Grüße
11.11.2011
Nicolai Schönberg 2,4k 2 9
0
hi... danke für die idee mit dem versteckten feld...es ist nun so das nur eine seite ist und die unteren felder am anfang ausgeblendet sind und dann via slideDown() auffahren....neue andressen nibzufügen habe ich schon im adressbuch als funktion bereitgestellt...mein auftraggeber hätte aber gerne das seine kunden die dann wiederum ihre kunden in besagten adressbuch haben bei einem neuen abholauftrag so eine funktion wie "adresse ins adressbuch übernehemen" haben.... die idee ist jetzt das ich deinen button mache als "ins adressbuch übernehmen" und dann in einem popup erst abschicke... ist das die eleganteste lösung? ...mir is des grad echt n bissl zu hoch.. ;) muss ma am we in ruhe drüber nachdenken.... auf jeden fall schonmal danke für deine hilfe..
11.11.2011
Delueg 31 1 3
Zeig mir die Seite wenn du fertig bist und ich sage dir ob ich es Elegant finde oder nicht ;) Viel Erfolg
Nicolai Schönberg 11.11.2011
0
Dein Ansatz war schon korrekt, nur die Umsetzung nicht ganz perfekt.
So sollte es funktionien:

<select id="mySelect">
<option value='1,2,3,4'>some_text</option>
</select>

<script>
alert( $('#mySelect').val().split(',')[0] );
</script>


Alternativ kannst du auch das data-Attribute, JSON und den ":selected"-Selektor verwenden.
11.11.2011
Floyd 14,6k 3 9
Floyd 14,6k 3 9
ah cool auch gut zu wissen danke
Delueg 11.11.2011
0
ääh hier.... ja vielen dank für den split befehl...werd ich bestimmt noch brauchen...
11.11.2011
Delueg 31 1 3

Stelle deine Javascript-Frage jetzt!