嗨我在输入类型上有一个css绑定,如果它匹配我的函数,它会添加类CircleErrors。我的问题是,只有当我关闭输入框时才会延迟取消课程。我希望在按键的键盘上删除该类..我知道有一个油门你可以用于淘汰赛,但我不知道如何去做。
<input id="firstName" type="text" placeholder="First name" data-bind="value: Registration.FirstName, css: { CircleErrors: Registration.FirstName().length == 0 && Registration.FirstNameValidation(), valueUpdate: 'afterkeydown' }">
答案 0 :(得分:3)
您错放了valueUpdate
参数。它位于css
参数中 - 您需要将其移到}
之外:
<input id="firstName" type="text" placeholder="First name" data-bind="value: Registration.FirstName, css: { CircleErrors: Registration.FirstName().length == 0 && Registration.FirstNameValidation() }, valueUpdate: 'afterkeydown'">
答案 1 :(得分:2)
使用textInput绑定而不是第一个名称属性的值绑定(以及任何文本输入字段)。引用文档
与值绑定不同,textInput提供来自的即时更新 适用于所有类型用户输入的DOM,包括自动完成, 拖放和剪贴板事件。
你不再需要valueUpdate绑定,但是它在你的CSS绑定中,所以不会产生任何影响。
<input id="firstName" type="text" placeholder="First name" data-bind="textInput: Registration.FirstName, css: { CircleErrors: Registration.FirstName().length == 0 && Registration.FirstNameValidation() }">
答案 2 :(得分:0)
这就是你要找的东西 `var reg = new(function(){ var self = this; this.FirstName = ko.observable(''); this.checkifEmpty = ko.observable(false);
this.check=function(){
if(this.FirstName()!=null&&this.FirstName()!=undefined && this.FirstName() !=''){
this.checkifEmpty(true);
}else{
this.checkifEmpty(false);
}
}
this.FirstNameValidation = function() {
return true;
}
})();
ko.applyBindings(REG);
`