2013-04-30 12 views
9

Ich habe eine Ember App, wo ich ein Bootstrap-Popover zeige. Von diesem Popover gibt es ein kleines Formular, das den Wert eines Textbereichs, der an ein Modell gebunden ist, aktualisieren sollte. Wenn ich den Textbereich eintippe, funktioniert die Bindung an das Modell gut. Wenn ich jedoch jQuery (wie unten) verwende, um den Wert des Textbereichs zu aktualisieren, sieht die Ember-Bindung die Änderung im Modell nicht. Ist das überhaupt möglich?ember, update form value mit jquery

$("#myBoundTextArea").val("blah"); 
+2

getan vielleicht das Änderungsereignis versuchen und lösen nach – Ohgodwhy

+0

Sie sollten die 'get' verwenden und' Set' Bindungen auszulösen. Ich denke nicht, dass das Setzen des Wertes mit jQuery das tun wird. – mehulkar

+0

yeah, das Problem ist kompliziert, weil eines meiner Eingabefelder eigentlich ein HTML-Designer ist, also war es schwierig, das DOM dieses Feldes mit dem Modell synchron zu halten. – Ben

Antwort

15

Sie können die Änderung auslösen, indem Sie jquery verwenden, die auch die Ember-Bindung benachrichtigt.

Dies wird als solche

$("#myBoundTextArea").trigger("change"); 
+0

Ich verwendete diese Technik, um zwei Eingabefelder synchron zu halten. Das Ember-gebundene Feld war versteckt und ich stellte seinen Wert ein, aber ohne den 'Trigger ('ändern')', hat es nicht funktioniert. Vielen Dank! –

+1

Warum wird diese Antwort nicht akzeptiert? – engma