0

私はasp.netファイルアップロードコントロールを持っています.Jqueryマルチファイルアップロードを使用しています。ファイルを選択すると、アップロード コントロールの下に div が作成され、ファイルのリストが表示されます。アップロード コントロールの値を隠しフィールドに保存したいのですが、fileupload コントロールで 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 は複数のファイルのアップロードをうまくサポートしていないようですが、変更イベントで次のようなことを試すことができます。

$("#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 に答える