javascript+html 如何在其中一个表格中输入按钮,在另一个表格中显示数据?
展开全部
<!doctype html>
<html>
<head>
<title>购物车</title>
<meta charset="utf-8"/>
<style type="text/css">
h1{
text-align:center;
}
table{
margin:0 auto;
width:60%;
border:2px solid #aaa;
border-collapse:collapse;
}
table th,table td{
border:2px solid #aaa;
padding:5px;
}
th{
background-color:#eee;
}
</style>
<script type="text/javascript">
//加入购物车
function add_shoppingcart(btn){
//1.根据点击的按钮,获取同行的商品名和单价
//根据点击的按钮,找到它的爷爷tr
var tr=btn.parentNode.parentNode;
//找出爷爷tr的所有td的孩子
var tds=tr.getElementsByTagName("td");
//第1个td的内容是商品名
var name=tds[0].innerText;
//第2个td的内容是单价
var price=tds[1].innerText;
//alert(name+","+price);
//2.创建一个tr,将其插入到购物车table下
tbody=document.getElementById("goods");
//在tbody下插入一行tr
var ntr = tbody.insertRow();
ntr.innerHTML=
'<td>'+name+'</td>'+
'<td>'+price+'</td>'+
'<td align="center">'+
'<input type="button" value="-" onClick="decrease(this);"/>'+
'<input type="text" size="3" readonly value="1"/>'+
'<input type="button" value="+" onClick="increase(this);"/>'+
'</td>'+
'<td>'+price+'</td>'+
'<td align="center"><input type="button" value="x" onClick="del(this);"/></td>';
//计算总计
total();
}
//将商品从购物车中删除
//<input type="button" value="x" onClick="del(this);"/>
//由于删除按钮上点击事件中调用了该方法,
//并传入了this参数,this是你正在点击的按钮对象,
//所以btn参数接收的就是this。的值
function del(btn){
//获取当前点击的删除按钮所在的行tr
var tr=btn.parentNode.parentNode;
//删除这一行
tr.parentNode.removeChild(tr);
//计算总计
total();
}
//增加
function increase(btn){
//1.将数量+1
//获取当前行的数量
var td=btn.parentNode;
var inputs=td.getElementsByTagName("input");
var text=inputs[1];
var amount=parseInt(text.value);
text.value=++amount;
//2.计算金额=单价*数量
//获取单价
var tr=btn.parentNode.parentNode;
var tds=tr.getElementsByTagName("td");
var price=parseInt(tds[1].innerText);
//计算金额
var mny=amount*price;
//获取金额td,赋值
tds[3].innerText=mny;
//计算总计
total();
}
//减少
function decrease(btn){
//1.将数量-1
//获取当前行的数量
var td=btn.parentNode;
var inputs=td.getElementsByTagName("input");
var text=inputs[1];
var amount=parseFloat(text.value);
//判断数量是否等于1,等于时不能再减少了
if(amount==1){
return;
}
text.value=--amount;
//2.计算金额=单价*数量
//获取单价
var tr=btn.parentNode.parentNode;
var tds=tr.getElementsByTagName("td");
var price=parseFloat(tds[1].innerText);
//计算金额
var mny=amount*price;
//获取金额td,赋值
tds[3].innerText=mny;
//计算总计
total();
}
//计算总计
function total(){
//1.获取购物车中所有的商品行
var tbody=document.getElementById("goods");
var trs=tbody.getElementsByTagName("tr");
//2.遍历这些行,获取某一行的金额
var sum=0;
for(var i=0;i<trs.length;i++){
//当前行
var tr=trs[i];
//取当前行的金额列,即第4列
var tds=tr.getElementsByTagName("td");
var mny=parseFloat(tds[3].innerText);
//3.将每一行的金额累加
sum+=mny;
}
//4.将合计值写入到合计行中
var ttd=document.getElementById("total");
ttd.innerText=sum;
}
</script>
</head>
<body>
<h1>真划算</h1>
<table>
<tr>
<th>商品</th>
<th>单价(元)</th>
<th>颜色</th>
<th>库存</th>
<th>好评率</th>
<th>操作</th>
</tr>
<tr>
<td>罗技M185鼠标</td>
<td>80</td>
<td>黑色</td>
<td>893</td>
<td>98%</td>
<td><input type="button" value="加入购物车" onClick="add_shoppingcart(this);"/></td>
</tr>
<tr>
<td>微软X470键盘</td>
<td>150</td>
<td>黑色</td>
<td>9028</td>
<td>96%</td>
<td><input type="button" value="加入购物车" onClick="add_shoppingcart(this);"/></td>
</tr>
<tr>
<td>洛克iphone6手机壳</td>
<td>60</td>
<td>透明</td>
<td>672</td>
<td>99%</td>
<td><input type="button" value="加入购物车" onClick="add_shoppingcart(this);"/></td>
</tr>
<tr>
<td>蓝牙耳机</td>
<td>100</td>
<td>蓝色</td>
<td>8937</td>
<td>95</td>
<td><input type="button" value="加入购物车" onClick="add_shoppingcart(this);"/></td>
</tr>
<tr>
<td>金士顿U盘</td>
<td>70</td>
<td>红色</td>
<td>482</td>
<td>100%</td>
<td><input type="button" value="加入购物车" onClick="add_shoppingcart(this);"/></td>
</tr>
</table>
<h1>购物车</h1>
<table>
<thead>
<tr>
<th>商品</th>
<th>单价(元)</th>
<th>数量</th>
<th>金额(元)</th>
<th>删除</th>
</tr>
</thead>
<tbody id="goods">
</tbody>
<tfoot>
<tr>
<td colspan="3" align="right">总计</td>
<td id="total"></td>
<td></td>
</tr>
</tfoot>
</table>
</body>
</html>
参考一下我写的这里例子看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询