jquery - 如何使用 jquery 将剪贴板数据粘贴到表格单元格中?
问题描述
我在将剪贴板数据复制到表格行时遇到了这个问题。
这是我的html表格代码:
<table mat-table [dataSource]="dataSource">
<tr mat-header-row *cdkHeaderRowDef="displayedColumns" ></tr>
<tr mat-row *cdkRowDef="let row; columns: displayedColumns;"></tr>
<ng-container *ngFor="let disCol of displayedColumns; let colIndex = index" [cdkColumnDef]="disCol">
<div *ngIf="disCol != 'addrow'">
<th mat-header-cell *cdkHeaderCellDef style="background-color: rgb(198, 182, 255);">{{disCol}}</th>
<td mat-cell *cdkCellDef="let element ">
<div *ngIf="disCol != 'ACTION' ">
**<input id="paste-me" (keyup.enter)="onEnter()"** [formControl]="element.get([disCol])">
</div>
<div *ngIf="disCol == 'ACTION' ">
<mat-select [formControl]="element.get([disCol])">
<mat-option [value]="active" *ngFor="let active of activeList">
{{ active }}
</mat-option>
</mat-select>
</div>
</td>
</div>
<div *ngIf="disCol == 'addrow'">
<th mat-header-cell *cdkHeaderCellDef style="background-color: rgb(198, 182, 255);"></th>
<div *ngIf="dynamicRows.length > 0 ? true : false">
<td mat-cell *cdkCellDef="let element; let i = index;">
<input [(ngModel)]="inputValue" placeholder="No.of Rows" *ngIf="i > dynamicRows.length - 1 ? true : false" (keyup.enter)="addnewRow()"/>
</td>
</div>
<div *ngIf="dynamicRows.length === 0 ? true : false">
<td mat-cell *cdkCellDef="let element;" >
<input [(ngModel)]="inputValue" placeholder="No.of Rows" *ngIf="dynamicRows.length === 0 ? true : false" (keyup.enter)="addnewRow()"/>
</td>
</div>
</div>
</ng-container>
</table>
组件 ts 文件代码为:
onEnter() {
console.log('Entered');
$('#paste-me').each(function() {
let searchQuery = $('#paste-me').val();
console.log('Seacrh suggestion satrting with - ' + searchQuery);
event.stopPropagation();
searchQuery = searchQuery.split('\t');
var x1 = new Array();
x1 = searchQuery.toString().split(',');
console.log('x'+x1.length);
console.log('x1:::'+x1);
for(let j=0;j<x1.length;j++) {
console.log('j value::'+x1[j]);
$('#paste-me').filter(':input').each(function(j,item){
$(item).val(x1[j] || '');
console.log('x value:::'+x1[j]);
});
}
而只复制一个行值被复制。剩余的值不会被复制。但是在 jquery 函数调用中显示所有复制的数据。我无法迭代所有行。如何解决?能否请你帮忙?
解决方案
推荐阅读
- aws-lambda - 在 stepfunctions 中捕获错误时向 sqs 发送消息
- firebase - PWA、Firebase 和 Google 登录:无法处理请求
- c# - WebRequest 上不允许使用错误 405 方法
- git - 可以将我的程序的“旧”版本保留在分支中吗?
- r - 如何通过闪亮的应用程序更新 Rstudio 全局环境中的数据库连接
- c++ - 调整时间复杂度 - 使用动态数组进行链式哈希
- postgresql - How can I store massive amounts of text in PostgreSQL?
- github - git push origin master 和 git push origin main 的区别
- r - 在R中的给定条件下是否有任何功能可以分离元素?
- java - 怎样才能做一个JTextArea?