JavaScript--增删改

订单的删除和增加与修改

虽然上个博客也写字了这个案例,这篇博客我们把他单独写一个博客放出来

  • 首先要插入行要使用insertRow()插入行

实现思路和关键代码:

//使用集合rows和属性length计算当前表格中的行数
 var addTable=document.getElementById("order");
 var row_index=addTable.rows.length-1;//索引从0开始,所以总长度-1

//使用tableRow对象插入新行时,设置行id属性,方便后续删除
//插入ID号,产生效果为:<tr id=“row1”>,方便后续传递行号参数给删除函数delRow(rowId)
newRow.id="row"+row_index;

实现思路 :

  • “修改”按钮函数editRow()、 “确定”按钮函数upRow(),两个函数传递的参数都是当前行的id号
  • 函数editRow():使用lastChild访问最后一个单元格中的“修改”按钮,并改变value值为“确定”
  • 函数upRow():使用firstChild和value获取当前数量值, 同样改变按钮上显示的文本和调用的函数

以下就是订单的删除和增加与修改的所有代码:

//首先写完HTML代码后先用css设置表格等样式
		<style type="text/css">
			body {
				font-size: 13px;
				line-height: 25px;
			}
			table {
				border-top: 1px solid #333;
				border-left: 1px solid #333;
				width: 400px;
			}
			td {
				border-right: 1px solid #333;
				border-bottom: 1px solid #333;
				text-align: center;
			}
			.title {
				font-weight: bold;
				background-color: #cccccc;
			}
			input text {
				width: 100px;
			}
		</style>
		<script type="text/javascript">
			//增加
			function addRow() {
				var sa = document.getElementById("order"); //获取表格
				var sum = sa.rows.length - 1; //获取总行数,不包括最后按钮一行
				var sb = sa.insertRow(sum); //在表格最后位置插入一行
				sb.id = "row" + sum; //给插入的行取一个id
				
				var ca = sb.insertCell(0); //插入第0列
				ca.innerHTML = "<input type='text'>";
				var cb = sb.insertCell(1); //插入第0列
				cb.innerHTML = "<input type='text' style='width:20px'>";
				var cc = sb.insertCell(2); //插入第0列
				cc.innerHTML = "<input type='text' style='width:20px'>";
				var cd = sb.insertCell(3); //插入第0列
				cd.innerHTML = "<input type='button' value='删除' οnclick=\"delRow('" + sb.id +
					"')\"> <input type='button' value='确定' οnclick=\"qdRow('" + sb.id + "')\">";
			}
			//删除
			function delRow(rid) {
				var va = document.getElementById("order"); //根据id获取表格对象
				var sa = document.getElementById(rid); //根据id获取你要删除的行对象
				var index = sa.rowIndex; //根据sa找到该行对象对应的下标
				va.deleteRow(index); //开始删除行
			}
			//确定
			function qdRow(rid) {
				var sa = document.getElementById(rid); //根据id获取你要确定的行
				var sum = sa.cells; //获取该行所有列(文本框)的集合
				//alert(sum.length);
				//alert(sum[0].lastChild.value);
				var ca = sum[0].lastChild.value;
				sum[0].innerHTML = ca;
				var cb = sum[1].lastChild.value;
				sum[1].innerHTML = cb;
				var cc = sum[2].lastChild.value;
				sum[2].innerHTML = cc;

				sum[3].lastChild.value = "修改";
				sum[3].lastChild.setAttribute("onclick", "editRow('" + rid + "')");
			}
			//修改
			function editRow(rid) {
				var sa = document.getElementById(rid);
				var sum = sa.cells;

				var ca = sum[0].innerHTML;
				sum[0].innerHTML = "<input type='text' value='" + ca + "'>";
				var cb = sum[1].innerHTML;
				sum[1].innerHTML = "<input type='text' style='width:20px' value='" + cb + "'>";
				var cc = sum[2].innerHTML;
				sum[2].innerHTML = "<input type='text' style='width:20px' value='" + cc + "'>";

				sum[3].lastChild.value = '确定';
				sum[3].lastChild.setAttribute("onclick", "qdRow('" + rid + "')");
			}
		</script>
	</head>

	<body>
		<table border="0" cellspacing="0" cellpadding="0" id="order">
			<tr class="title">
				<td>商品名称</td>
				<td>数量</td>
				<td>价格</td>
				<td>操作</td>
			</tr>
			<tr id="row1">
				<td>防滑真皮休闲鞋</td>
				<td>12</td>
				<td>&yen;568.50</td>
				<td><input name="rowdel" type="button" value="删除" onclick='delRow("row1")' />
					<input name="edit" type="button" value="修改" onclick='editRow("row1")' />
				</td>
			</tr>
			<tr>
				<td colspan="4" style="height:30px;">
					<input name="addOrder" type="button" value="增加订单" onclick="addRow()" />
				</td>
			</tr>
		</table>
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于使用 Element Plus 的 Vue 表格,你可以通过以下步骤来实现增删操作: 1. 安装 Element Plus:首,确保已经安装了 Vue 和 Element Plus。你可以通过 npm 或者 yarn 来安装它们: ```shell npm install element-plus --save ``` 或者 ```shell yarn add element-plus ``` 2. 引入 Element Plus:在你的 Vue 项目的入口文件中(通常是 `main.js`),引入 Element Plus 的样式和组件: ```javascript import { createApp } from 'vue'; import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; const app = createApp(App); app.use(ElementPlus); app.mount('#app'); ``` 3. 创建表格:在你的组件中,使用 Element Plus 的 `el-table` 组件来创建表格: ```vue <template> <el-table :data="tableData"> <!-- 表格列 --> </el-table> </template> ``` 4. 定义表格数据:在你的组件的 `data` 中定义表格数据,例如: ```javascript export default { data() { return { tableData: [ { name: 'John Doe', age: 25, gender: 'Male' }, { name: 'Jane Smith', age: 30, gender: 'Female' }, // 其他数据行... ] }; } } ``` 5. 实现增删操作:根据你的需求,在组件中添加相应的方法来实现增删操作。例如,你可以添加一个按钮来触发添加新行的操作: ```vue <template> <el-table :data="tableData"> <!-- 表格列 --> </el-table> <el-button @click="addRow">添加行</el-button> </template> <script> export default { data() { // 表格数据... }, methods: { addRow() { // 创建一行新数据并添加到表格数据 this.tableData.push({ name: '', age: 0, gender: '' }); }, // 其他操作方法... } } </script> ``` 类似地,你可以添加其他按钮和方法来实现删除行、编辑行等操作。 这只是一个简单的示例,你可以根据你的具体需求来自定义表格和操作。Element Plus 提供了丰富的组件和 API 来帮助你构建功能强大的表格。***
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值