我正在使用Infragistics IgniteUI 2014.1。
我在页面上有一个允许用户上传文件的igFileUpload控件。控件开始时只是一个简单的上传文件"按钮,但一旦选择了一个文件,它将更改为显示进度条,取消按钮等(此行为内置于控件中)。如果用户上传了x个文件,则会显示x个进度条。
我的问题是我需要一种方法来重置UI以显示简单的"上传文件"用户完成上传文件后没有进度条的按钮。
以下是相关标记:
<div class="col-md-12">
<div id="DIVUploadNewFile" class="form-group">
<label class="control-label" for="FUNewFile">Upload New File</label>
<div id="FUNewFile"></div>
</div>
</div>
我尝试删除代表igFileUpload控件的DOM元素,然后将其添加回页面并按以下方式重新初始化:
// remove the FileUpload div
$("#FUNewFile").remove();
// add the FileUpload div back to the document
$("#DIVUploadNewFile").append($("<div id='FUNewFile'></div>"));
// reinitialize the FileUpload control in exactly the same way that
// I have always done on $(document).ready()
$("#FUNewFile").igUpload({
mode: 'multiple',
multipleFiles: true,
maxUploadedFiles: 5,
autostartupload: true,
progressUrl: "IGUploadStatusHandler.ashx",
maxSimultaneousFilesUploads: 2,
controlId: "serverID1"
});
运行此代码后检查页面时,无法找到igFileUpload控件。
答案 0 :(得分:2)
你可以销毁并在之后重新创建小部件。删除内部DOM不会删除窗口小部件。 你可以这样做:
if ($("#FUNewFile").data("igUpload")) {
$("#FUNewFile").igUpload("destroy");
}
$("#FUNewFile").igUpload({
mode: 'multiple',
multipleFiles: true,
maxUploadedFiles: 5,
autostartupload: true,
progressUrl: "IGUploadStatusHandler.ashx",
maxSimultaneousFilesUploads: 2,
controlId: "serverID1"
});