2016-04-22 9 views
1

このプロジェクトではTwitterのブートストラップを使用し、ページには検索または削除のために保存されたファイルがリストされています。ユーザがリスト内の「ダウンロード」入力ボタンをクリックすると、他のファイルの「ダウンロード」ボタンのクリックは発火しない。どのようにボタンを設定すれば、ユーザーはただちにファイルをダウンロードしてダウンロードすることができますか?リスト内のブートストラップ入力ボタンをクリックすると他のボタンは無効になります

ダウンロードスクリプトの最後にボタンIDを有効または有効に設定しようとしましたが、有効になっていません。誰がここで何が起こっているのを見ますか?前もって感謝します!ビューの

一覧:

<div class="panel panel-default" id="uploadPanel"> 
    <div class="panel-heading">Uploaded Files</div> 
    <div class="panel-body"> 
     <table id="dt_basic" class="table table-striped"> 
      <thead> 
       <tr> 
        <th style="display:none"></th> 
        <th class="text-center">File Name</th> 
        <th class="text-center">Uploaded Date</th> 
        <th class="text-center">Uploaded By</th> 
        <th></th> 
       </tr> 
      </thead> 
      <tbody> 
       @if (Model.UploadedFiles.Any()) 
       { 
        foreach (var record in Model.UploadedFiles) 
        { 
         <tr> 
          <td style="display:none">@record.UploadedFileID</td> 
          <td align="center">@record.UploadedFileName</td> 
          <td align="center">@String.Format("{0:d}", @record.UploadedFileDate)</td> 
          <td align="center">@record.UploadedBy</td> 
          <td align="center"><input type="button" class="btn btn-info" id="downloadFile" value="Download"> | <input type="button" class="btn btn-warning" id="deleteFile" value="Delete"></td> 
         </tr> 
        } 
       } 
      </tbody> 
     </table> 
    </div> 
</div> 

スクリプトファイルをダウンロードする:

$("#downloadFile").click(function() { 
    var cells = $(this).closest('tr').children('td'); 
    var $id = Number(cells.eq(0).text()); 
    var $url = '@Url.Action("DownloadFile", "Files", new { id = "_id_" })'; 
    document.location.href = $url.replace("_id_", $id); 
    //Tried re-activating and re-enabling $("downloadFile") here, but to no avail 
}); 
+1

と対照的に割り当てるIDのが理由です一意である必要がありますclassことによってそれを行います – Vector

答えて

3

id

<td align="center"><input type="button" class="btn btn-info downloadFile" value="Download"> | <input type="button" class="btn btn-warning deleteFile" value="Delete"></td> 


$(".downloadFile").click(function() { 
    var cells = $(this).closest('tr').children('td'); 
    var $id = Number(cells.eq(0).text()); 
    var $url = '@Url.Action("DownloadFile", "Files", new { id = "_id_" })'; 
    document.location.href = $url.replace("_id_", $id); 
    //Tried re-activating and re-enabling $("downloadFile") here, but to no avail 
}); 
+0

美しくてシンプル!ありがとう@Vector! – jle

関連する問題