敲除js-css biniding不't保存更改
knockout js css biniding doesn't save changes
敲除js-css-biniding在div的类被更改后不会保存更改:我的模型包含2个属性:
man: '',
woman: 'active'
我在dom中有2个元素,这些类可以更改。
<input type='button' value='Is MAN?' class='' data-bind='css: man'>
<input type='button' value='Is WOMAN?' class='' data-bind='css: woman'>
我想通过更改html元素类来更改模型的属性。例如:如果我们将类"active"添加到
<input data-bind='css: man' class='active' />
我们的模型属性"man"变为"active"。还有其他方式。
小提琴上的工作示例:http://jsfiddle.net/LkqTU/24843/
我做了一些修改,使代码可以管理
想法是将class
到html控件的设置留给基于布尔道具的真/假的viewModel
视图:
<!-- ko foreach:people -->
PERSON DATA
<br/>
<input type='button' value='Is MAN?' class='' data-bind="css:{'active':man},,click:mClick" ><br/>
<input type='button' value='Is WOMAN?' class='' data-bind="css:{'active' : woman},click:wClick"><br/><br/>
<!-- /ko -->
view模型:
var data = {
persons:[
new PersonViewModel({
man: false,
woman: true
}),
new PersonViewModel({
man: true,
woman: false
})
]
};
function PersonViewModel(data){
var self = this;
self.man = ko.observable(data.man);
self.woman = ko.observable(data.woman);
self.mClick=function(){
self.man(!self.man())
}
self.wClick=function(){
self.woman(!self.woman())
}
}
var applicationVM = function (data) {
var self = this;
self.people = ko.observableArray(data.persons);
self.savechanges = function() {
alert(ko.toJSON(self.people));
};
};
$(document).ready(function() {
ko.applyBindings( new applicationVM(data) );
});
样品工作小提琴此处
相关文章:
- JS CSS切换按钮没有'不要向上移动
- 我应该连接/缩小已经缩小的JS/CSS吗?如果是,如何
- JS/CSS:如何在向下滚动超过1200像素(高度)后更改z索引值
- JS/CSS旋转的DIVS在任何屏幕的中间相遇
- HTML按钮获胜't更改JS变量
- 在企业应用程序框架中包含js/css文件的最佳实践是什么
- 根据分辨率更改JS函数
- Html+js+css的打包程序
- 保存leaflet.js的当前视图
- 如何使用文本框在网站上保存更改
- 如何使用jquery/js/css逐步突出显示一段文本
- 将css从javascript更改为css
- 重叠的选项卡 JS CSS HTML.
- JS+更改元素CSS+命名锚点
- 在 js/css/html 更改 Web 应用程序上强制刷新缓存
- Backbone.js - CSS更改正在等待JavaScript完成 - 在Firefox中工作,而不是在Chrome
- 保存less.js生成的.css文件
- Meteor.js处理MongoDB对象并保存更改
- 保存angular js之前值正在更改
- 敲除js-css biniding不't保存更改