图书管理系统+购物车JavaScript/Jquery + HTML

实现一个图书管理系统,系统包含图书查询,购物车增加和删除,如下:

图书管理系统首页,列表方式显示所有商品数据

 点击 “添加”超链接,会进行购物车添加,添加的时候会显示会相对应的总价格

 点击不同的图书,会在购物车中添加不同的图书,添加不同的图书的时候,总计也在发生变化

 点击购物车中的 + 按钮 和 – 按钮,相对应的数量会发生变化,如果数量等于1,则数量不能在进行相减,也可以使用文本框的形式实现或者设置 input的type属性为number的形式实现

点击购物车中的 删除按钮,删除当前行之前会进行提示,确认删除当前行的时候,总计也会变化 

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>图书管理系统-首页</title>
		<style type="text/css">
			table {
				border-collapse: collapse;
			}

			th {
				background-color: skyblue;
			}

			td {
				text-align: center;
			}
		</style>
		<script src="../jquery-3.6.1.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			function tj1(btn) {
				var date = new Date();
				var year = date.getFullYear(); //年
				var month = date.getMonth() + 1; //月;因为month属性从0开始所以要加1				
				var day = date.getDate(); //天
				var hour = date.getHours(); //小时
				var minute = date.getMinutes(); //分钟
				var second = date.getSeconds(); //秒
				second = second < 10 ? "0" + second : second;
				var currentTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;

				
				var tr = btn.parentNode.parentNode
				var price = tr.getElementsByTagName('td')[3].innerText//单价
				var name = tr.getElementsByTagName('td')[0].innerText//商品
				var trs = document.getElementsByTagName('table')[1].getElementsByTagName('tr')
				
				for(let i=1;i<trs.length;i++){
					if(trs[i].getElementsByTagName('td')[1].innerText == name){
						trs[i].getElementsByTagName('td')[4].getElementsByTagName('input')[1].value++
						var asd = trs[i].getElementsByTagName('td')[4].getElementsByTagName('input')[1].value		
						var xiaoJi = trs[i].getElementsByTagName('td')[5].innerText
						xiaoJi = asd * price
						trs[i].getElementsByTagName('td')[5].innerText = xiaoJi
						total()
						return;
					}
				}
				var tbody = document.getElementById("tbd");
				//创建tr
				var trEl = document.createElement("tr");
				//创建td
				var trEl1 = document.createElement("td");
				var trEl2 = document.createElement("td");
				var trEl3 = document.createElement("td");
				var trEl4 = document.createElement("td");
				var trEl5 = document.createElement("td");
				var trEl6 = document.createElement("td");
				var trEl7 = document.createElement("td");
				//添加内容到td
				trEl1.innerHTML = "<input type='checkbox' class='cnome'/>" 
				trEl2.innerHTML = name;
				trEl3.innerHTML = "<span id='sp1'>" + price + "</span>";
				trEl4.innerHTML = currentTime;
				trEl5.innerHTML =
					"<input type='button' value='+' onclick='sum(this)'/><input id='number' type='number' value='1'/><input type='button' value='-' onclick='sub(this)'/>";
				trEl6.innerHTML = "<span id='sp2'>" + price + "</span>"
				trEl7.innerHTML = "<input id='del' type='button' value='删除' onclick='del()'/>";
				//添加内容到tr
				trEl.appendChild(trEl1);
				trEl.appendChild(trEl2);
				trEl.appendChild(trEl3);
				trEl.appendChild(trEl4);
				trEl.appendChild(trEl5);
				trEl.appendChild(trEl6);
				trEl.appendChild(trEl7);
				//添加内容到tbody
				tbody.appendChild(trEl);
				total()
			}
			//删除
			function del() {
				if (confirm("确认删除当前行?")) {
					// this.parentNode.parentNode.remove()
					$("#del").closest("tr").remove()
					document.getElementById("total").innerHTML = total()
				}
			}

			//增加数量
			function sum(btn) {
				var tr = btn.parentNode.parentNode
				var tds = tr.getElementsByTagName('td')
				var i = document.getElementById("number").value;
				var i = tds[4].getElementsByTagName('input')[1].value
				i++;
				tds[4].getElementsByTagName('input')[1].value = i;
				var price = parseFloat(tds[2].innerText)
				console.log(price)
				var xiaoJi = parseFloat(tds[5].innerText)
				console.log(xiaoJi)
				xiaoJi = i * price
				tds[5].innerText = xiaoJi
				
				total();
			}
			//减少数量
			function sub(btn) {
				var tr = btn.parentNode.parentNode
				var tds = tr.getElementsByTagName('td')
				var i = tds[4].getElementsByTagName('input')[1].value
				if (i > 1) {
					i--;
					tds[4].getElementsByTagName('input')[1].value = i;
				}else{
					alert("不能小于1")
				}
				var price = parseFloat(tds[2].innerText)
				console.log(price)
				var xiaoJi = parseFloat(tds[5].innerText)
				console.log(xiaoJi)
				xiaoJi = i * price
				tds[5].innerText = xiaoJi
				console.log(xiaoJi)
				
				total();
			}
			//总计
			function total() {
				var trs = document.getElementsByTagName('table')[1].getElementsByTagName('tr')
				var sum = 0
				for (let i = 1; i < trs.length - 1; i++) {
					sum += parseFloat(trs[i].getElementsByTagName('td')[5].innerText)
				}
				document.getElementById('total').innerText = sum
				return sum;
			}
		</script>
	</head>
	<body>
		<h1 align="center">图书管理系统</h1>
		<table id="book" border="1px" cellpadding="0px" cellspacing="0px" width="700px" height="300px" align="center">
			<tr>
				<th>书名</th>
				<th>作者</th>
				<th>出版时间</th>
				<th>价格</th>
				<th>类型</th>
				<th>操作</th>
			</tr>
			<tr>
				<td id="name1">css布局实录</td>
				<td>李超</td>
				<td>2007-01-10</td>
				<td id="price1">11</td>
				<td>CSS</td>
				<td><a href="#" onclick="tj1(this,1)">添加</a></td>
			</tr>
			<tr>
				<td id="name2">精通web</td>
				<td>张三</td>
				<td>2008-01-10</td>
				<td id="price2">11</td>
				<td>WEB</td>
				<td><a href="#" onclick="tj1(this,2)">添加</a></td>
			</tr>
			<tr>
				<td id="name3">优美的HTML</td>
				<td>赵四</td>
				<td>2009-01-10</td>
				<td id="price3">12</td>
				<td>HTML</td>
				<td><a href="#" onclick="tj1(this,3)">添加</a></td>
			</tr>
			<tr>
				<td id="name4">简单的JavaScript</td>
				<td>吴六</td>
				<td>2010-01-10</td>
				<td id="price4">15</td>
				<td>JavaScript</td>
				<td><a href="#" onclick="tj1(this,4)">添加</a></td>
			</tr>
			<tr>
				<td id="name5">轻便的Jquery</td>
				<td>刘柳</td>
				<td>2011-01-10</td>
				<td id="price5">18</td>
				<td>Jquery</td>
				<td><a href="#" onclick="tj1(this,5)">添加</a></td>
			</tr>
			<tr>
				<td id="name6">java入门</td>
				<td>戚七</td>
				<td>2012-01-10</td>
				<td id="price6">25</td>
				<td>java</td>
				<td><a href="#" onclick="tj1(this,6)">添加</a></td>
			</tr>
			<tr>
				<td id="name7">WEB开发基础</td>
				<td>小红超</td>
				<td>2013-01-10</td>
				<td id="price7">35</td>
				<td>WEB</td>
				<td><a href="#" onclick="tj1(this,7)">添加</a></td>
			</tr>
			<tr>
				<td id="name8">赢在客户</td>
				<td>大黄</td>
				<td>2014-01-10</td>
				<td id="price8">55</td>
				<td>阅文</td>
				<td><a href="#" onclick="tj1(this,8)">添加</a></td>
			</tr>
		</table>

		<h1 align="center">购物车</h1>
		<table id="shopping" border="1px" cellpadding="0px" cellspacing="0px" width="700px" align="center">
			<tr>
				<th><input type="checkbox"></th>
				<th>书名</th>
				<th>价格</th>
				<th>添加时间</th>
				<th>数量</th>
				<th>小计</th>
				<th>操作</th>
			</tr>
			<tbody id="tbd">

			</tbody>
			<tr>
				<td colspan="5"></td>
				<td >总计:</td>
				<td id="total"></td>
			</tr>
		</table>
	</body>
</html>

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图书管理系统中,HTML页面的编写是非常重要的一部分。根据引用\[1\]中的描述,可以按照以下步骤来编写HTML页面: 1. 首先,在index应用下创建一个templates目录,再在templates目录下创建一个index目录,用来存放HTML文件。 2. 编辑登录页面(login.html)。在该页面中,可以设计一个表单用于输入用户名和密码进行登录。 3. 编辑图书显示及删除页面(books.html)。在该页面中,可以显示数据库中存在的所有图书信息,并提供删除图书的操作按钮。 4. 编辑页面(dit.html)。在该页面中,可以设计一个表单用于添加或修改图书的信息。 以上是HTML页面的基本编写步骤,根据具体需求和设计,可以进一步完善和调整页面的布局和样式。通过这些HTML页面,用户可以进行登录、查看图书信息、添加图书、修改图书和删除图书等操作。 #### 引用[.reference_title] - *1* [图书管理系统](https://blog.csdn.net/lyhwhitewhale/article/details/125330870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [图书管理系统【Servlet+HTML综合应用】](https://blog.csdn.net/hh867308122/article/details/128423385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值