0

我有一个 asp.net 文件上传控件,我正在使用 Jquery 多文件上传。当我选择一个文件时,它会在上传控件下创建一个 div 来显示文件列表。我想将上传控件的值保存在隐藏字段中,我在文件上传控件上使用 jquery 更改事件,但它没有触发。我还尝试对文件 div 使用相同的事件,但它也没有触发,并且 Fire Bug 中没有错误。

<asp:FileUpload ID="FileUpload1" runat="server" class="multi" />
<div id="ctl00_ContentPlaceHolder1_FileUpload1" class="MultiFile-list"></div>


 $(document).ready(function () {
  $("#ctl00_ContentPlaceHolder1_FileUpload1").change(function () {
                alert("File Selected");
            });
            $(".MultiFile-list").change(function () {
                alert("File Selected");
            });             
 });

我也尝试过使用 div ID,但没有运气。

4

1 回答 1

2

似乎 jQuery 不能很好地支持多个文件上传,但是您可以在 change 事件中尝试这样的操作:

$("#ctl00_ContentPlaceHolder1_FileUpload1").change(function() {
    var files = $('#ctl00_ContentPlaceHolder1_FileUpload1')[0].files;
    for (var i = 0; i < files.length; i++) {
        $(".MultiFile-list").append(files[i].name);
    }
});

如您所见,我获取文件列表并将名称放在您定义的 div 中,只是为了让您尝试代码。

于 2013-09-09T10:13:14.893 回答