繁体   English   中英

在jQuery MultiFile插件中动态创建输入文件元素

[英]dynamically create input file element in jQuery MultiFile plugin

我正在使用jQuery MultiFile插件,这是该插件的普通视图

在此处输入图片说明

这是为此的HTML语法

<input type="file" id="someName" name="file" class="multi" onchange="return Plugins.handleFileSelect(this);"/>

我正在尝试动态生成此文件输入

因此,一旦发生“单击此处”按钮单击,我尝试将其追加

 <button type="button" id="ifile">click here</button>             
 <div id="target_div"></div> 

<script type="text/javascript">

    $('#ifile').click(function () {
        // when the add file button is clicked append
        // a new <input type="file" name="someName" />
        // to a target_div div
        $('#target_div').append(
            $('<input/>').attr('type', "file").attr('name', "file").attr('id', "someName").attr('class', "multi").attr('onchange', "return Plugins.handleFileSelect(this);")
        );
    });
</script>

但是一旦执行此操作,它就会生成普通文件输入,但无法正确列出文件

打开检查元素后,我可以看到如下视图

在此处输入图片说明

我该如何正确生成

您应该改用MultiFile插件

$('#ifile').click(function () {
    // when the add file button is clicked append
    // a new <input type="file" name="someName" />
    // to a target_div div
    var input = $('<input/>')
                .attr('type', "file")
                .attr('name', "file")
                .attr('id', "someName");
    //append the created file input
    $('#target_div').append(input);
    //initializing Multifile on the input element
    input.MultiFile();
});

你可以像这样使用append

$('#target_div').append('<input type="file" id="someName" name="file" class="multi" onchange="return Plugins.handleFileSelect(this);"/>')

顺便说一句,你可以检查jQuery文档的追加

http://api.jquery.com/append/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM