0

入力がフォーカスされたときに、入力が無効である場合に警告を表示したいと考えています。メッセージはオブザーバブルにあります。

したがって、このコードが与えられた場合、それにバインドされたオブザーバブルを見つけるにはどうすればよいでしょうか。

$(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;
        ...
4

2 に答える 2