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

Copy table rows to clipboard- copying only the first page

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

只有JavaScript才能完成。

可以分两步完成:

Step 1 : Select table get using selection command

Step 2 : Apply clipboard using 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根据您的要求粘贴剪贴板值