当输入获得焦点时,如果输入无效,我想弹出警告。 消息在可观察的内容中。
所以给定这段代码,我如何找到与它绑定的observable。
$(document).on("focus", "input.invalid", function(){
console.log("ahaaaa!");
//your code here
//dig out observable from this and find the message
//create element with class invalid-message and place it next to this
}).on("blur", function(){
$(".invalid-message").remove();
});
我正在使用敲除验证,我只想在字段具有焦点时显示错误消息。欢迎提出其他建议。
编辑: 当我使用dataFor时:
$(document).on("focus", "input.invalid", function(){
console.log(this);
console.log(ko.dataFor(this));
...
我在控制台中得到了这个:
带下划线的观察是我追求的。
EDIT2: 我正在解决这个问题:
$(document).on("focus", "input.invalid", function(){
var fieldName = $(this).attr("name");
var errorMessage = ko.dataFor(this)[fieldName].error;
...
答案 0 :(得分:1)
答案 1 :(得分:0)
为什么不简单地使用Knockout的event
绑定来设置focus
和blur
的处理程序?将使用输入值作为第一个参数调用您的处理程序;无需使用jQuery。