[英]html input files binding with knockoutjs
我有一个名为MainViewModel的viewModel。
var MainViewModel = function(){
this.selectedFiles = ko.observableArray();
this.onFileSelectedEvent = function(evt){
}
}
我有一个HTML页面,其中包含类型为file的输入。
<input type="file" data-bind="event:{ change: onFileSelectedEvent }"/>
我想用onFileSelectedEvent处理程序填充selectedFiles 。 但是onFileSelectedEvent参数是MainViewModel的即将到来的类型,它不包括选定的文件。
如何处理选定的文件?
默认情况下,在event
绑定处理程序内部,第二个参数是事件对象:
var MainViewModel = function(){
var self = this;
self.selectedFiles = ko.observableArray();
self.onFileSelectedEvent = function(vm, evt){
ko.utils.arrayForEach(evt.target.files, function(file) {
self.selectedFiles.push(file.name);
});
}
}
演示JSFiddle 。
第一个参数是当前数据上下文,因此在您的情况下为MainViewModel
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.