如何获得淘汰赛重点输出的当前值

时间:2014-03-06 10:35:39

标签: javascript knockout.js

我对knockout.js来说基本上是新手。我希望获得焦点输入的值。焦点输出事件将触发一个函数,该函数将更改我的可观察数组变量上的某些项。

以下是代码:

<input placeholder="Enter a caption" type="text" data-bind="event:{focusout: $parent.modifyPhotoCaption(id, $(this).val())}" />

但是,$(this).val()不起作用,也不起作用。我想立即获得当前输入的值。

感谢您的帮助。

更新:

我想我还没有提供很多细节。我之所以想要获得价值的原因是因为有很多输入文本:

<input placeholder="Enter a caption" type="text" data-bind="event:{focusout: $parent.modifyPhotoCaption(id, $(this).val())}" />
<input placeholder="Enter a caption" type="text" data-bind="event:{focusout: $parent.modifyPhotoCaption(id, $(this).val())}" />
<input placeholder="Enter a caption" type="text" data-bind="event:{focusout: $parent.modifyPhotoCaption(id, $(this).val())}" />

我不知道如何通过数组获取值。似乎这样做是最快的

1 个答案:

答案 0 :(得分:1)

正如我对您的问题发表评论:使用可观察的属性并订阅它。除了绑定项是可观察数组的一部分之外,在subscribe中的observablearray中做任何需要做的更改。

var VM = function() {
    var self = this;

    self.foo = ko.observable();

    self.foo.subscribe(function() {
       // do whatever needed.
       console.log(self.foo()); 
    });
};

ko.applyBindings(new VM());