使用 jquery 在按钮单击时复制表或 div 内容

苏西尔

我得到表格 html $(selector).html()

但执行后document.execCommand("copy");它不会复制表的内容。

请查找附件以获得更清晰的信息。在此处输入图片说明

function copy(selector) {
  var $temp = $("<div>");
  $("body").append($temp);
  $temp.attr("contenteditable", true)
    .html($(selector).html()).select()
    .focus(function() {
      document.execCommand('selectAll', false, null)
    });
  document.execCommand("copy");
  $temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>

  <tbody>
    <tr>
      <td colspan="2" style="text-align: left; line-height: 40px; font-family: Verdana; font-size: 12px; font-weight: bold; color: #123456; text-transform: uppercase; background: #e6d05c75;">Accomodation</td>
    </tr>
    <tr>
      <td width="50%">Country</td>
      <td>Mauritius</td>
    </tr>
    <tr>
      <td>Destination</td>
      <td>All Hotels</td>
    </tr>
    <tr>
      <td width="50%">Hotel Name</td>
      <td>Anahita Mauritius - The Resort</td>
    </tr>
    <tr>
      <td>Check In</td>
      <td>22/Aug/2018</td>
    </tr>
    <tr>
      <td>Check Out</td>
      <td>24/Aug/2018</td>
    </tr>
    <tr>
      <td colspan="2">
        <table cellpadding="0px" cellspacing="0" width="100%" style=" padding:20px; line-height: 30px; font-family: Verdana; font-size: 12px; font-weight: bold; color: #123456; vertical-align: top" rules="all">
          <tbody>
            <tr style="background: #cce7ff;">
              <td>Room Type</td>
              <td>Meal Type</td>
              <td>Offer</td>
            </tr>
            <tr>
              <td>1 Bedroom Suite Garden(02 pax)</td>
              <td>Half Board</td>
              <td>N/A</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr style="background: #c0e098;font - size: 15px ">
      <td>Total Package Cost</td>
      <td>1502.00 USD</td>
    </tr>
    <tr>
      <td><input readonly="" type="text" value="Click Me To Copy" class="allowCopy noselect"></td>
      <td><button onclick="copy(tblcopy)" type="button">Click to Copy</button></td>
    </tr>
  </tbody>
</table>

尼尔·比利亚雷亚尔

你可能想试试这个。

我根据这篇文章中的文本选择由@Tom Oakley 回答

function selectText(el){
    var doc = document;
    var element = document.getElementById(el);
    if (doc.body.createTextRange) {
        var range = document.body.createTextRange();
        range.moveToElementText(element);
        range.select();
    } else if (window.getSelection) {
        var selection = window.getSelection();        
        var range = document.createRange();
        range.selectNodeContents(element);
        selection.removeAllRanges();
        selection.addRange(range);
    }
}
function copy(selector) {
  var $temp = $("<div id='toCopy'>");
  $("body").append($temp);
  $temp.attr("contenteditable", true)
    .html($(selector).html());
  selectText("toCopy");
  document.execCommand("copy");
  $temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tblcopy">

  <tbody>
    <tr>
      <td colspan="2" style="text-align: left; line-height: 40px; font-family: Verdana; font-size: 12px; font-weight: bold; color: #123456; text-transform: uppercase; background: #e6d05c75;">Accomodation</td>
    </tr>
    <tr>
      <td width="50%">Country</td>
      <td>Mauritius</td>
    </tr>
    <tr>
      <td>Destination</td>
      <td>All Hotels</td>
    </tr>
    <tr>
      <td width="50%">Hotel Name</td>
      <td>Anahita Mauritius - The Resort</td>
    </tr>
    <tr>
      <td>Check In</td>
      <td>22/Aug/2018</td>
    </tr>
    <tr>
      <td>Check Out</td>
      <td>24/Aug/2018</td>
    </tr>
    <tr>
      <td colspan="2">
        <table cellpadding="0px" cellspacing="0" width="100%" style=" padding:20px; line-height: 30px; font-family: Verdana; font-size: 12px; font-weight: bold; color: #123456; vertical-align: top" rules="all">
          <tbody>
            <tr style="background: #cce7ff;">
              <td>Room Type</td>
              <td>Meal Type</td>
              <td>Offer</td>
            </tr>
            <tr>
              <td>1 Bedroom Suite Garden(02 pax)</td>
              <td>Half Board</td>
              <td>N/A</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr style="background: #c0e098;font - size: 15px ">
      <td>Total Package Cost</td>
      <td>1502.00 USD</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

<button onclick="copy('#tblcopy')" type="button">Click to Copy</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Jquery在按钮单击上隐藏/显示Div

来自分类Dev

jQuery文本区域调整大小无法与单选按钮单击时的jQuery div内容更改结合使用

来自分类Dev

使用Jquery打印div内容

来自分类Dev

使用jQuery替换div内容

来自分类Dev

使用jquery交换div内容

来自分类Dev

使用jQuery单击更改div内容和URL

来自分类Dev

如何使用Jquery基于单选按钮显示<div>内容

来自分类Dev

如何在单击按钮时使用模板更改div的内容?

来自分类Dev

使用JQuery更改DIV的内容时,是否还要更改URL?

来自分类Dev

如何使用 JQuery/Javascript 在悬停时更改 div 的内容

来自分类Dev

通过单击按钮来更改div内容-请不要使用jQuery

来自分类Dev

jQuery〜使用.next('div')将内容从div复制到div

来自分类Dev

当div单击时jQuery加载内容-内容跳转

来自分类Dev

使用jQuery获取div内容的值

来自分类Dev

使用jQuery动态更改div内容

来自分类Dev

使用JQuery显示隐藏的div内容

来自分类Dev

如何使用JQuery刷新DIV的内容?

来自分类Dev

使用 jquery html css 滑动 Div 内容

来自分类Dev

使用jQuery删除类并在单击按钮时隐藏div

来自分类Dev

使用jQuery单击按钮时显示三个div

来自分类Dev

我想在按钮单击后使用jQuery追加几个div

来自分类Dev

单击时jQuery动态隐藏/显示div的内容

来自分类Dev

jQuery仅在选中时加载div内容

来自分类Dev

jquery在页面加载时克隆div的内容

来自分类Dev

提交按钮在div中不起作用(其内容在jQuery中使用.load()加载)

来自分类Dev

使用javascript单击按钮时如何在ul中显示多个div的p标签的内容

来自分类Dev

jQuery默认div内容

来自分类Dev

jquery填充div的内容

来自分类Dev

jQuery 替换 div 内容

Related 相关文章

热门标签

归档