2016-08-08 33 views
0

Ich könnte als komplett noob klingen, aber könnten Sie mir dabei helfen?Verwenden von jQuery JSON-Funktion, um Textarea zu füllen, wenn ein bestimmtes Dropdown-Element ausgewählt ist

Ich habe ein Formular mit Dropdown-Auswahl und in vielen Textbereich Boxen.

Was ich brauche:
Wenn eine bestimmte Option ausgewählt ist, würde Ich mag alle Textbereich zu füllen, mit einem Text (unter Verwendung von JSON).

Code:

HTML

<label>name</label> 
<select> 
<option value="0" data-num="">name lastname</option> 
<option value="1" data-num="">name lastname</option> 
<option value="2" data-num="">name lastname</option> 
<option value="3" data-num="">name lastname</option> 
</select> 


<textarea name="name"></textarea> 
<textarea name="applicant"></textarea> 
<textarea name="applicant_en"></textarea> 
<textarea name="email"></textarea> 
<textarea name="vat"></textarea> 
<textarea name="rc"></textarea> 

JSON-Daten

{ 
"id":["1","2"], 
"name":["John Doe","John notDoe"], 
"applicant":["lorem ipsum","second"], 
"applicant_en":["one","two"], 
"email":["mail","mail_two"], 
"vat":[61388963,4684645456], 
"rc":["123456/0123","87986454/554"] 
}" 

Ich habe etwas versucht, aber ich gab .. Kann mir jemand helfen, bitte ?

Antwort

2
<select id="some_id"> 
<option value="0" data-num="">name lastname</option> 
<option value="1" data-num="">name lastname</option> 
<option value="2" data-num="">name lastname</option> 
<option value="3" data-num="">name lastname</option> 
</select> 

JS:

$("#some_id").on('change',function(){ 
    if($(this).val()==1){ 

     $("input[name='applicant']).val("fetched from json"); 

    } 
    ///else continue with other values 
}) 

EDIT: einige id oder Klasse zu Ihrem HTML bieten.

<textarea name="applicant" id="applicant"></textarea> 

In JS:

populate('#MyForm', $.parseJSON(data)); 



function populate(strFormId,jsonData){ 

    $(strFormId+' #applicant').val(jsonData.applicant[0] +' '+jsonData.applicant[1]); 

//do in the same way for other DOM element. 
} 
+0

Dank, das funktioniert! Allerdings muss ich fragen. Würdest du wissen, wie man das macht, also kann ich nur json Daten hinzufügen, zum Beispiel so: 'var data = '{" bewerber ":" Hallo "," email ":" world "}';' ' populate ('# MyForm', $ .parseJSON (Daten)); ' – Kailo

+0

Ok, hier ist die JS-Lösung von Ihrer ersten Antwort - https://jsfiddle.net/rkqkaptq/3/ Das funktioniert, aber ich kann ' t tun den Teil mit Parsing Daten über JSON .. :( – Kailo

+0

Ich denke, ich habe es, also markiere ich diese Antwort als die richtige, da es mir wirklich hilft.Vielen Dank – Kailo