js实现页面表格内容的复制粘贴填充,实现快速填写

3 篇文章 0 订阅

JS如下:

/*选择开始复制位置*/
$(document).ready(function(){
	$("table").on("click","td[scode]",function(){ 
		$("table td[scode]").attr("class","");
		$(this).attr("class","inputred"); 
	});
});
function cellkeydown(event) {
	if (event.ctrlKey && event.keyCode == 86) {
		var ss = document.getElementById("copyText");
		ss.focus();
		ss.select();
		// 等50毫秒,keyPress事件发生了再去处理数据
		setTimeout("dealwithData()",50);
	}
}
/*粘贴数据*/
function dealwithData(event) {
	var ss = document.getElementById("copyText");
	ss.blur();
	var a=$("table td[class='inputred']");
    var tdindex=a.index();
   	var chooseinputlenght=$("table td[inputname]").length;
   	var trindex=a.parent("tr").index();
   	var tablea=a.parent("tr").parents("tbody");
   	var str= ss.value; //获取剪切板数据
   	if(chooseinputlenght<=0){
	   alert("请选择一个输入框!");return;
   	}
   	var hang = str.split("\n");
    for(var i=0;i<hang.length-1;i++){
	   var tmpa=hang[i].split("\t");
	   var tmpb=new Array();
	   for(var k=0;k<tmpa.length;k++){
			   tmpb.push(tmpa[k]);
	   }
	   tablea.find("tr").eq(trindex+i).each(function(a){
		   var jk=0;
		   $(this).find("td").each(function(j){
			   if(j>=tdindex&&jk<=tmpb.length-1){
				   var tmpaaa=$(this); 
				   var value=$.trim(tmpb[jk]).replace(/,/g,"");
				   if(tmpaaa.find("select option").size()>0){
					   tmpaaa.find("select option").each(function(){
						   if($(this).text()==value){
							   $(this).attr("selected",true);
						   }
					   });
				   }else{
				   		tmpaaa.attr('value',value);
				   		tmpaaa.text(value);
				   }
				   jk++;
			   }
		   });
	   });   
   }
}

body如下:

<body οnkeydοwn="return cellkeydown(event)">
<textarea id="copyText" style="position: absolute; top: -100000px; left: -100000px;" ></textarea>
<table id="righttbody">	  
	<c:forEach var="list" items="${lists}" varStatus="inx">						
		<tr>		
			<td scode="" class="">
				<select disabled name="arr.result_value" id="eva_results${inx.count}" οnchange="changezd(this,${inx.count})" >
					<option value="">请选择</option>				
				</select>
			</td>
			<td scode="" value="${list.score}" class="">
				<fmt:formatNumber value ="${list.score}" pattern="#0.00" />
			</td>
			<td scode="" class="">
				<s:if test="${fn:length(list.sco_basis)>30 }">
					${fn:substring(list.sco_basis,0,25)}...
				</s:if>
				<s:else>
					${list.sco_basis}
				</s:else>
			</td>
			<td scode="" class="">
				<s:if test="${fn:length(list.fvsco_basis)>30 }">
					${fn:substring(list.fvsco_basis,0,25)}...
				</s:if>
				<s:else>
					${list.fvsco_basis}
				</s:else>
			</td>
		</tr>
</table>
</body>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值