繁体   English   中英

jQuery下载结果文件

[英]Jquery to Download Result File

我需要创建一个单击时显示“正在加载”的按钮,然后使用用户创建的表格中的结果弹出电子表格。 我将代码用作链接,但不用作按钮。 我该如何解决?

这是用于创建表并将脚本从指定链接发送到电子表格中的脚本:

makeTable = function(query) {
    var q = encodeURIComponent(query);
    $('#example').dataTable({
        "oLanguage": {"sSearch": "Filter results:"},
        "bProcessing": true,
        "bDestroy":true,
        "sAjaxSource": $.sprintf('http://...?q=%s',q),
        "aoColumns":[
            {"mData":"id", "sWidth": "20px", "sTitle":"ID"},
            {"mData":"chamber", "sWidth": "10px", "sTitle":"Chamber"},
            {"mData":"date", "sWidth": "85px", "sTitle":"Date"},
            {"mData":"yea","sTitle":"Vote","sWidth":"80px"},
            {"mData":"descriptionShort", "sWidth": "200px","sTitle":"Description"}
        ],
        "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
            $('td:eq(0)', nRow).html($.sprintf('<a onclick="setviz(\'%s\');setview(\'visualize\')">%s</a>',aData['id'],aData['id'])).attr("title", "Click to explore this vote");
            $('td:eq(3)', nRow).html($.sprintf('%s-%s', aData['yea'], aData['no']));
            $('td:eq(4)', nRow).attr("title",aData['description']);
            resultids.push(aData['id']); // build vector vote ids (nothing to do with the table)
            return nRow;
        },  
        "fnInitComplete": function(oSettings, json) {
            $('#downloadExcel').attr('href','http://...?ids=' + resultids.join()); // Make download link
        }
    });                
}

在HTML的主体中,我有以下代码:

<div id='results'>
  <div class="jumbotron">   
    <div class="container special">
      <div class="table">
        <table id="example" class="table table-striped"></table><br/>

        <a id="downloadExcel" href="">Download</a><br></br>

        <a onclick="oper_executar('downloadExcel')" class="btn btn-primary btn-lg"  role="button">Download</a><br></br>

        </div><!-- table -->
      </div><!-- container -->
    </div><!-- jumbotron -->    
  </div><!-- results -->

该链接完全符合我的预期,但按钮不起作用!

救命?

尝试这个

<button id="downloadExcel">Download</button>

更改链接到按钮。

"fnInitComplete": function(oSettings, json) {
            $('#downloadExcel').click(function(){
                  window.location = 'http://...?ids=' + resultids.join();
            })      
}

将URL设置为window.location将触发文件下载。 您也可以尝试window.location.href

暂无
暂无

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

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