knockout.js - Remove the value Binding based on the model -



knockout.js - Remove the value Binding based on the model -

i have model property @ times should bind input element , select element, based on configuration. utilize value binding on both elements , hide either 1 using visible binding.

as both bindings on page, when input visible , when come in text not exists in hidden select, unable alter value. in case input element visible (isdropdown false) not want select bound (or there other improve way handle this?).

sample javascript model

var player = function (name, age, country, isdropdown) { this.name = ko.observable(name); this.age = ko.observable(age); this.country = ko.observable(country); this.isdropdown = ko.observable(isdropdown); }; var playermodel = function () { var self = this; self.myplayer = new player('murray', 28, 'uk', false); //self.myplayer = new player('murray', 28, 'uk', true); self.countrylist = ['us', 'uk', 'swiss']; } var model = new playermodel(); ko.applybindings(model);

html code

name: <input type="text" data-bind="value: myplayer.name" /> <br/>age: <input type="text" data-bind="value: myplayer.age" /> <br/>country: <input type="text" data-bind="value: myplayer.country, visible: !(myplayer.isdropdown())" /> <select data-bind="options: $root.countrylist, value:myplayer.country, optionscaption:'choose..', visible: myplayer.isdropdown()"></select> <br/> (there dropdown / input hidden, please swap commented lines in javascript model enable )

respective js fiddle here

use virtual if bindings instead. prevents databound select element beingness in dom , bound when isdropdown false.

<!-- ko ifnot: myplayer.isdropdown --> <input type="text" data-bind="value: myplayer.country" /> <!-- /ko --> <!-- ko if: myplayer.isdropdown --> <select data-bind="options: $root.countrylist, value:myplayer.country, optionscaption:'choose..'"> </select> <!-- /ko -->

jsfiddle

knockout.js

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -