繁体   English   中英

如何获得淘汰赛焦点输入的当前值

[英]how get the current value of input on knockout focusout

我基本上是敲门.js的新手。 我想重点关注输入的价值。 聚焦事件将触发一个函数,该函数将更改可观察数组变量中的某些项。

这是代码:

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

但是,$(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())}" />

我不知道如何通过数组获取值。 而且看来这是最快的

正如我对您的问题的评论:使用可观察的属性并订阅它。 除非绑定项是observable数组的一部分,否则请在订阅的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());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM