knockout.js - KnockoutJS Changes Model to Controller -


i have dropdownbox binded videmodel foreach

<td>                         <input class='required' type="text" data-bind="value: muhasebekodu" id="muhasebekodu" /></td>                     <td>                         <select data-bind="options: gidertipleri, value: selectedoptionvalue" onchange="setcodefield(this.value);" id="muhcodes" name="muhcodess"></select></td> 

and model this

    var self = null;     var viewmodel = null;     $(document).ready(function () {         var giderlers = json.parse(document.getelementbyid('contentplaceholder1_hdnoutgoingtypes').value);         var selectedgider = document.getelementbyid('contentplaceholder1_hdnoutgoingtypesselected').value;         var odemetipleri = json.parse(document.getelementbyid('contentplaceholder1_hdnfirmpaymenttypes').value);         var selectedodemetipi = document.getelementbyid('contentplaceholder1_hdnfirmpaymenttypesselected').value;         var giftmodel = function (gifts) {             self = this;             self.gifts = ko.observablearray(gifts);              self.addgift = function () {                 self.gifts.push({                     muhasebekodu: ko.observable().extend({ notify: 'always' }),                     gidertipleri: giderlers,                     selectedoptionvalue: ko.observable(selectedgider),                     faturano: "",                     matrah: "",                     kdv: "",                     geneltoplam: "",                     kdvtipleri: ["0", "1", "8", "18"],                     selectedokdvptionvalue: ko.observable("0"),                     odemeseklitipleri: odemetipleri,                     selectedoostptionvalue: ko.observable(selectedodemetipi),                     aciklama: "",                 });             };              self.removegift = function (gift) {                 self.gifts.remove(gift);             };              self.save = function (form) {                 alert("could transmit server: " + ko.utils.stringifyjson(self.gifts));                 // transmit server regular form post, write this: ko.utils.postjson($("form")[0], self.gifts);             };         };           viewmodel = new giftmodel([             { muhasebekodu: ko.observable().extend({ notify: 'always' }), gidertipleri: giderlers, selectedoptionvalue: ko.observable(selectedgider), faturano: "", matrah: "", kdv: "", geneltoplam: "", kdvtipleri: ["0", "1", "8", "18"], selectedokdvptionvalue: ko.observable("0"), odemeseklitipleri: odemetipleri, selectedoostptionvalue: ko.observable(selectedodemetipi), aciklama: "" },         ]);         ko.applybindings(viewmodel);          // activate jquery validation         //$("form").validate({ submithandler: viewmodel.save });           $(".faturanoinp").bind('keyup', function (e) {             $(this).val($(this).val().touppercase());         });      }); 

i want set muhasebekodu input when user changed dropdown control on same screen, have write below jscript. has been changed new value in model not apearing on control

    function setcodefield(e) {         var mcode = document.getelementbyid('contentplaceholder1_hdnmuhasebekodlari').value;         var mcodes = mcode.split(",");         (i = 0; < mcodes.length; i++) {             var namevalues = mcodes[i].split(":");             var name = namevalues[0];             var value = namevalues[1];             if (e == name) {                 self.gifts()[self.gifts.length].muhasebekodu.value = value;                 self.gifts()[self.gifts.length].muhasebekodu.extend({ notify: 'always' });             }         }     } 

i have 2 control 1 of them changed want see on control binded viewmodel. self.gifts.xxx = 'new value'; want see on binded control

in knockout set value of observable this:

self.gifts()[self.gifts.length].muhasebekodu(value); 

Comments

Popular posts from this blog

apache - PHP Soap issue while content length is larger -

asynchronous - Python asyncio task got bad yield -

javascript - Complete OpenIDConnect auth when requesting via Ajax -