knockout.js data on page not updating when updated in modal -


i'm using knockout.js , twitter bootstrap's modal plugin data-bind user's email address can change via modal. however, i'm expecting see email address simultaneously update on page when i'm editing inside input box inside modal. wrong data-binding?

here's jsfiddle of below: http://jsfiddle.net/xn58k/1/

var model = {     "schoolemailaddress": "email@domain.com",     "firstname": "john",     "lastname": "doe",     "middlename": null,     "id": 3 };  $(document).ready(function() {     var viewmodel = new accountsettingsviewmodel();     ko.applybindings(viewmodel);      viewmodel.user(model); });  function user(data) {     var self = this;     ko.mapping.fromjs(data, {}, this); }  function accountsettingsviewmodel() {     var self = this;     this.user = ko.observable();      this.editemail = function() {         $("#editemailmodal").modal("show");     }     }  <div data-bind="with: user">     <div>email address <a href="javascript:void(0);" data-bind="click: $parent.editemail">edit</a></div>       <div><label data-bind="text: schoolemailaddress"></label></div> </div>     <div id="editemailmodal" class="modal hide fade" data-bind="with: user">         <div class="modal-header">             <a class="close" data-dismiss="modal">×</a>             <h3><span class="icon-envelope" style="vertical-align: middle"></span> edit email address</h3>         </div>                 <div class="modal-body">                          <div class="modalrow">                  <div class="modallabel">email address:</div>                                <div><input type="text" data-bind="value: schoolemailaddress" class="span4" /></div>             </div>                             </div>             <div class="modal-footer">             <a href="javascript:void(0);" class="btn-gray swatch" data-dismiss="modal">cancel</a>             <a href="javascript:void(0);" class="btn-school swatch" data-dismiss="modal">save changes</a>                 </div>             </div> 

it looks have user constructor function not being used, none of user properties being made observable.

you want like:

viewmodel.user(new user(model)); 

this send user through mapping plugin (looks not referenced in fiddle).

http://jsfiddle.net/rniemeyer/xn58k/2/

that looks issue question. not save/cancel button.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -