javascript - Jquery绑定(bind)函数动态创建上传控件

标签 javascript jquery

我有一个上传控件

<div id=bodyContent>       
    <input  id="fileupload" type="file" name="files[]" multiple  /> 
</div>

创建服务器端。 此控件由以下函数使用:

$('#fileupload').fileupload({
    url: url,
    dataType: 'json',
    done: function (e, data) {
        //Do Something
    }
})

现在,这个控件是使用 javascript 动态创建的:

$('div[id *= bodyContent]').append(' <input id="fileupload" type="file" name="files[]" 
   multiple /> ');

我试过如下所示动态绑定(bind)函数,但没有成功。我不习惯进行这种类型的转换,如有任何帮助,我们将不胜感激。

$('div[id*=bodyContent]').on('fileupload', 'input[id*=fileupload]', function ({
    url: url,
    dataType: 'json',
    done: function (e, data) {
         //Do Something
    }       
})

谢谢。

最佳答案

id 在同一个文档中应该是唯一的,所以尝试用类属性替换它,在每次追加初始化你的 fileupload 之后:

$('<input class="fileupload" type="file" name="files[]" multiple/>').appendTo
   ('div[id*="bodyContent"]').each(function() 
{
    initFileUpload();
});

function initFileUpload()
{
    $('.fileupload').fileupload({
        url: url,
        dataType: 'json',
        done: function (e, data) {
            //Do Something
        }
    })    
}

希望这对您有所帮助。

关于javascript - Jquery绑定(bind)函数动态创建上传控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910567/

相关文章:

javascript - jQuery 验证器不适用于文件输入类型

JQuery - Show() 然后 focus() 无法按预期工作

jQuery 追加破坏了我的 HTML 表单(带有提交按钮)

javascript - jQuery 验证没有获得选项

javascript - 如何使用Object.defineProperties()?

javascript - Async.js 每个都继续而不回调

javascript - 如何在 Laravel 应用程序中添加自定义 JavaScript

javascript - jquery ajax - 调用我的 asp.net web api 给出错误的 url 和 404 未找到消息

javascript - accounting.js 将光标保持在十进制值的末尾

javascript - 循环遍历数组和关联元素