ng-file-upload文件浏览器未显示datatables生成的元素

时间:2016-06-28 13:08:59

标签: angularjs datatables ng-file-upload

我正在使用数据表生成动态内容,其中一个表格单元格有一个按钮。此按钮应触发页面控制器的文件上载功能。但是当我点击它时没有任何反应(即使没有记录TEST,功能也不会触发)。

这是文件上传处理函数:

$scope.uploadFile = function (file) {
    //DBG
    console.log('TEST'); //No TEST is logged to console at this point
    Upload.upload({
        url: '/file-upload',
        data: {file: file}
    }).then(function (resp) {
        console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
    }, function (resp) {
        console.log('Error status: ' + resp.status);
    }, function (evt) {
        var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
        console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
    });
};

html是使用这样的数据表动态生成的:

<button class="btn button btn-default button-table" ngf-select="uploadFile($file)"><i class="fa fa-plus-circle"></i></button>

我想这是一个问题,因为click事件没有动态触发文件浏览器,我不知道如何用这个插件强制触发文件选择事件。

1 个答案:

答案 0 :(得分:0)

我通过创建静态隐藏按钮解决了这个问题:

<button id="button-upload-real" style="display: none" ngf-select="uploadFile($file)"></button>

并从动态生成的数据表单元格上的按钮触发单击事件。像瑞士时钟一样工作。