Wie kann ich leicht Formularfelder füllen?
Frage
Das Beispiel ajax Formular
<form method="post">
<input type="text" name="name" />
<input type="text" name="email" />
<select name="group">
<option value="1">group 1</option>
<option value="2">group 2</option>
</select>
<button type="submit">submit</button>
</form>
Jedes Mal, wenn das Formular angezeigt wird, wird ein Ajax -Anruf gesendet und der Server gibt ein JSON -Objekt wie wie
{"name":"john", "email": "john@some-domain.com", "group": 2}
Ich möchte nicht die mühsame Arbeit erledigen, das Formular manuell mit den JSON -Daten zu füllen, z. B.
$('#myform').fillWith( json );
Lösung
Sie können einfach ein einfaches Plugin erstellen:
jQuery.fn.fillWith = function(input) {
return this.each(function(){
var form = this;
$.each(input, function (key, value) {
$(form).find('[name='+key+']').val(value);
});
});
};
Möglicherweise möchten Sie den Attribut -Selektor optimieren, um nur für zu überprüfen input
, select
, textarea
Elemente, in diesem Beispiel sucht der Selektor nach jedem Element (*[name=foo]
).
Möglicherweise müssen Sie auch einen Code hinzufügen, um Optionsfelder korrekt zu verarbeiten.
Überprüfen Sie ein Beispiel mit Ihrem Markup hier.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow