jquery:添加復制按鈕 復制一行數據


今天的一個任務是,在表格的最后一行添加一個復制按鈕,點擊后就可以復制本行的數據。

沒學過前端,到手的任務看着就頭大,因為不會前端啊,硬着頭皮也得做。看了html還是用jquery。。。。。。。。。。。。

然后我就看他的表格 是用columns和columnDefs來做的。

可以看到下圖:在return中 有兩個操作 一個是編輯,進入一個新的頁面開始編輯。

第二個就是我要寫的復制按鈕。我在寫復制的時候遇到幾個坑來和大家分享一下。

 1. 我在return之前就定義了一個var rowVal= row.id+row.porductId+....;

copyText函數中傳參只傳rowVal

這樣做就會有一個問題,由於數據都返回來了,所以無論你點哪一行的復制按鈕,都只復制最后一行。顯然不符合要求。

 

2.於是我百度了,傳參可以通過   '+row.id+'   這樣的形式傳參。但很快我又發現了問題,就是只有數字才好用,其他的都會報錯。

於是我。。百度好久都沒找到,后來我去谷歌就找到了(emmm)https://www.itranslater.com/qa/details/2123091173983126528 

'<input type="button" onClick="gotoNode(\'' + result.name + '\')" />'

里面給了一個例句,看了就明白了 字符串需要多加一組引號來表示讓其可以被傳。

 於是,都寫成    \'' + row.productId + '\''    這樣的形式,就可以傳參了。

復制函數代碼如下:(參考:https://blog.csdn.net/Gochan_Tao/article/details/90173343)

 1 function copyText(text1, t2, t3, t4, t5, t6, t7) {
 2         var textarea = document.createElement("input");//創建input對象
 3         var currentFocus = document.activeElement;//當前獲得焦點的元素
 4         document.body.appendChild(textarea);//添加元素
 5         textarea.value = text1 + " ## " + t2 + " ## " + t3 + " ## " + t4 + " ## " + t5 + " ## " + t6 + " ## " + t7;
 6         textarea.focus();
 7         if (textarea.setSelectionRange)
 8             textarea.setSelectionRange(0, textarea.value.length);//獲取光標起始位置到結束位置
 9         else
10             textarea.select();
11         try {
12             var flag = document.execCommand("copy");//執行復制
13         } catch (eo) {
14             var flag = false;
15         }
16         document.body.removeChild(textarea);//刪除元素
17         currentFocus.focus();
18         return flag;
19     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM