[英]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.