2017-10-02 12 views
0

ノックアウト変更イベントを使用して複数のCSVファイルをアップロードしようとしています。最初に変更機能が働き、値がビューモデルに書き込まれます。問題は、ノックアウト変更イベントが発生しない2番目のcsvファイルをアップロードしようとするときです。変更機能を最初からやり直す方法はありますか?ノックアウト変更イベント機能

<input id="uploadFile" type="file" multiple="multiple" data-bind="event: { change: PO.fileUploadChange }"/> 

export function fileUploadChange(data, evt): void { 
    ko.utils.arrayForEach(evt.target.files, function (file) { 

     var reader = new FileReader(); 
     reader.onload = LoadCSVData; 

     reader.readAsText(evt.target.files.item(0)) 
     model.quickEntryModel.files.push(evt.target.files.item(0)); 

     var input = document.getElementById('uploadFile'); 
     if (input != null) 
      document.getElementById('uploadFile').outerHTML = input.outerHTML; 
    }) 


} 

答えて

1

問題は最後の行です。私はあなたがそこで何をしようとしているのか分からないが、あなたが入力をクリアしていると仮定している。

export function fileUploadChange(data, evt): void { 
    ko.utils.arrayForEach(evt.target.files, function (file) { 

     var reader = new FileReader(); 
     reader.onload = LoadCSVData; 

     reader.readAsText(evt.target.files.item(0)) 
     model.quickEntryModel.files.push(evt.target.files.item(0)); 
    }); 

    var input = document.getElementById('uploadFile'); 
    if (input != null) 
     input.value = ""; 
} 

Here's a fiddle

:あなたは arrayForEachループの外に移動する必要があります
関連する問題