首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在第一次初始化和随后删除()之后重新初始化jQuery多文件上传插件

如何在第一次初始化和随后删除()之后重新初始化jQuery多文件上传插件
EN

Stack Overflow用户
提问于 2014-02-18 19:36:57
回答 1查看 126关注 0票数 0

我正在使用jQuery多文件上传插件,并将其封装在一个函数中,该函数在使用on()的select下拉列表中对更改事件进行调用。

它在第一次初始化时工作正常,但是在插件自动创建的div通过remove()删除之后就不能工作了。

与其使用remove(),我还尝试了detach(),希望它能保留一些我无法看到的插件功能,但这也不起作用。

插件函数

这将生成一个包含多个子div的容器div (#image_path_wrap)。

它是在链接到select下拉列表的on('change')事件上触发的。

代码语言:javascript
复制
function initMultipleFileUpload() {
$('#image_path').MultiFile({
STRING: {
file: '<em title="Click to remove" onclick="$(this).parent().prev().click()">$file</em>',
remove: '<img src="http://dummyimage.com/16x16/bdbdbd/ff0000&text=x" height="16" width="16" alt="x"/>'
}
});
}

删除方法

这将移除自动生成的容器div。

代码语言:javascript
复制
$("#image_path_wrap").remove();

jsFiddle

http://jsfiddle.net/rwone/RSbLc/

预期行为

插件应该重新初始化(即创建容器div和sub),第二次通过select下拉列表调用该函数。

电流行为

该插件在第二次通过select下拉列表调用时未能重新初始化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-19 08:32:04

溶液

运行插件时,它会将初始输入字段移动到#image_path_wrap中。

当移除#image_path_wrap时,插件分配给的输入字段也会被删除。

因此,在remove()之后,我重新追加了所需的输入字段。

代码语言:javascript
复制
var input_constructor = "<input type=\"file\" id=\"image_path\">";
$('label#image_paths_label').after(input_constructor);

jsFiddle

http://jsfiddle.net/rwone/RSbLc/42/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21863652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档