淘汰赛验证油门

时间:2015-01-19 17:08:36

标签: javascript knockout.js

嗨我在输入类型上有一个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' }">

3 个答案:

答案 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'">

Here's a demo with it working

答案 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)

Demo

这就是你要找的东西 `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);

`