将表格行复制到剪贴板-仅复制第一页

时间:2018-08-28 16:58:32

标签: javascript jquery angular html-table clipboard

我正在使用此引用将我的表(已分页)复制到剪贴板-Select a complete table with Javascript (to be copied to clipboard) 但是我在这里面临的问题是,它只是复制首页数据。无论我在哪一页上,我都需要复制所有行。我在有角度的应用程序中使用它。请为此提供解决方法。

1 个答案:

答案 0 :(得分:0)

只能通过JavaScript完成。

可以分两步完成:

  

第1步:使用选择命令选择要获取的表

     

第2步:使用document.execCommand("copy");

应用剪贴板

请在下面检查:

 function selectElementContents(el) {
        var body = document.body, range, sel;
        if (document.createRange && window.getSelection) {
            range = document.createRange();
            sel = window.getSelection();
            sel.removeAllRanges();
            try {
                range.selectNodeContents(el);
                sel.addRange(range);
            } catch (e) {
                range.selectNode(el);
                sel.addRange(range);
            }
            document.execCommand("copy");

        } else if (body.createTextRange) {
            range = body.createTextRange();
            range.moveToElementText(el);
            range.select();
            range.execCommand("Copy");
        }
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table id="tableId">
    <thead>
        <tr><th>Heading 1</th><th>Heading 2</th></tr>
    </thead>
    <tbody>
        <tr><td>cell 1</td><td>cell 2</td></tr>
        <tr><td>cell 3</td><td>cell 4</td></tr>
    </tbody>
</table>

<input type="button" value="select table"
   onclick="selectElementContents( document.getElementById('tableId') );">

现在Ctrl+V根据您的要求粘贴剪贴板值