当输入获得焦点时,如果输入无效,我想弹出警告。消息在 observable 中。
所以给定这段代码,我如何找到绑定到它的 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));
...
我在控制台中得到了这个:
带下划线的 observable 是我所追求的。
EDIT2:我正在像这样解决它:
$(document).on("focus", "input.invalid", function(){
var fieldName = $(this).attr("name");
var errorMessage = ko.dataFor(this)[fieldName].error;
...