使用knockout将值传递给模糊事件

时间:2014-06-04 11:30:33

标签: knockout.js lost-focus

我有2个输入框,两个都会在模糊事件上调用相同的功能,如下面的

 <td>
                <input id="txtDate1" data-bind="value:Date1, event: { blur: ValidateData }"  />

            </td>
            <td>
                <input id="txtDate2" data-bind="value: Date2, event: { blur: ValidateData }" />
            </td>

在我的视图模型中,我创建了函数validateData

 this.ValidateDate = function () {

        var txtData = $('#txtDate1').val();

        if (!valid_date(txtData )) {

               alert("Date not valid");
                $(this).focus();

 };

对于此功能,我想在失去焦点时传递文本框的实际值。我的问题是我不知道传递给这个函数的值。

我怎样才能实现它?

2 个答案:

答案 0 :(得分:2)

你很容易就可以这样做

data-bind="value:Date1, event: { blur: ValidateData.bind($data,Date1) }"

你的功能

this.ValidateDate = function (myval) {
    // your code
};

答案 1 :(得分:1)

如果添加参数,则knockout将传递current model value observable。在您的情况下,它将通过parentDate1的{​​{1}}。您可以使用以下内容将Date2Date1区分开来:

Date2

请参阅doc

  

调用处理程序时,Knockout将提供当前模型值作为第一个参数