js实现表格点击编辑

19 篇文章 1 订阅

js实现表格点击编辑

一般后台的增删查改会将数据加载到表格中,而修改则可以直接点击表格实现,这里表格的代码我直接用Java代码了

<table class="tableBody" align="center" bordercolor="#66CCFF"
	style="width: 1000px;border:1;cellspacing:0" valign="top">
	<tr>
		<td bordercolor="#66CCFF">商品图片</td>
		<td bordercolor="#66CCFF">商品ID</td>
		<td bordercolor="#66CCFF">商品名称</td>
		<td bordercolor="#66CCFF">商品类别</td>
		<td bordercolor="#66CCFF">价格</td>
		<td bordercolor="#66CCFF">库存量</td>
		<td bordercolor="#66CCFF">入库时间</td>
		<td bordercolor="#66CCFF"></td>
	</tr>
	 <%
		ArrayList<Goods> list=null;
	    String search_goods= request.getParameter("search_input");
	 	if(search_goods!=null){
	 		list = new GoodsDao().getAdminGoods(search_goods);
	 	}else{
			list = new GoodsDao().getGoodsList();
	 	}
		for(int i=0;list!=null&&i<list.size();i++){
			Goods gs = list.get(i);
			out.write("<tr>");
			out.write("<td  bordercolor='#66CCFF'><a href='' target='_blank'><img alt='' src='"+gs.getPic()+"' /> </a> </td>");
			out.write("<td  bordercolor='#66CCFF'>"+gs.getId()+"</td>");
			out.write("<td class='td_edit' bordercolor='#66CCFF'>"+gs.getName()+"</td>");
			out.write("<td class='td_edit' bordercolor='#66CCFF'>"+gs.getType()+"</td>");
			out.write("<td class='td_edit' bordercolor='#66CCFF'>"+gs.getPrice()+"</td>");
			out.write("<td class='td_edit' bordercolor='#66CCFF'>"+gs.getTotal()+"</td>");
			out.write("<td class='td_edit' bordercolor='#66CCFF'>"+gs.getTime()+"</td>");
			out.write("<td bordercolor='#66CCFF'><button id='edit' disabled='disabled' οnclick='tableEdit(this)'>修改</button>&nbsp;");
			out.write("<button id ='delet'><a href='AdminServlet?tp=delet&goodsid="+gs.getId()+"'>删除</a></button></td>");
			out.write("</tr>");
		}
	%>					
</table>

js实现点击修改
首先引入在线jQuery

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

js控制

<script>
	//在页面加载时候,就使td节点具有click点击能力
	$(document).ready(function() {
			//给所有td添加点击事件
		var tdNods = $(".td_edit");
		tdNods.click(tdClick);//点击调用tdClick方法
		$(".edit").click(function(){
			alert("点击测试");
		});
	});
	
	function tdClick() {
		//点击时将文本框内容保存、插入输入框、将文字写入输入框
		// 将td的文本内容保存
		var td = $(this);
		var trChildren = td.parent("tr").children();
		var tdText = td.text();//未修改的值
		// 将td的内容清空
		td.empty();
		// 新建一个输入框
		var input = $("<input>");
		// 将保存的文本内容赋值给输入框
		input.val(tdText);
		input.width(td.width());
		// 将输入框添加到td中
		td.append(input);
		// 双击获取基础数据
		input.dblclick(function() {
		});
		
		input.blur(function() {
			// 将输入框的文本保存
			var input = $(this);
			var inputText = input.val();
			// 将td的内容,即输入框去掉,然后给td赋值
			var td = input.parent("td");
			td.html(inputText);//修改后的值
			// 让td重新拥有点击事件
			if(inputText!=tdText){
				//如果点击的单元格内容发生了变化,则设置按钮为可点击
				td.parent("tr").find("#edit").removeAttr("disabled");
			}
			td.click(tdClick);
		});

		// 将jquery对象转化为DOM对象
		var inputDom = input.get(0);
		inputDom.select();
		// 将td的点击事件移除
		td.unbind("click");
	}
	
	//点击修改时将数据提交到Servlet写入数据库
	function tableEdit(self){
		var goodsid = self.parentNode.parentNode.children[1].innerHTML;
		var name = self.parentNode.parentNode.children[2].innerHTML;
		var type = self.parentNode.parentNode.children[3].innerHTML;
		var price = self.parentNode.parentNode.children[4].innerHTML;
		var total = self.parentNode.parentNode.children[5].innerHTML;
		var time = self.parentNode.parentNode.children[6].innerHTML;
		window.location.href="AdminServlet?tp=edit&name="+name+"&type="+type+"&price="+price+"&total="+total+"&time="+time+"&goodsid="+goodsid;
	}
</script>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值