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

时间:2017-02-26 13:48:05

标签: javascript jquery html onchange multifile

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

enter image description here

这是

HTML 语法
 <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>

我试图动态生成此文件输入

所以我试着追加一次&#34;点击这里&#34;按钮点击发生

{{1}}

但是一旦我这样做它生成普通的文件输入,但它没有正确列出文件

一旦我打开检查元素,我就可以看到如下的视图

enter image description here

如何正确生成

2 个答案:

答案 0 :(得分:2)

您应该使用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();
});

答案 1 :(得分:0)

你可以像这样使用追加

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

顺便说一下,您可以查看附加的jquery文档

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