复选框应用表格
程序员文章站
2022-05-09 13:16:13
...
做成的原始效果:
选中一个或几个之后;
删除之后:
具体代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table{
width: 600px;
background-color: #d9ffdc;/*表格背景色*/
text-align: center;
}
th{
background-color: #00a40c;/*表头背景色*/
color: #fff;/*表头文字颜色*/
padding: 5px;
}
td{
border-bottom: 1px dashed #817865;
}
</style>
</head>
<body>
<table id="list" border="0">
<caption>
<h2>我的购物车</h2>
</caption>
<tr>
<th><label><input type="checkbox"
id="all" onclick="all_check()"/>全选</label></th>
<th>商品</th>
<th>描述</th>
<th>单价</th>
<th>数量</th>
</tr>
<tr>
<td><input type="checkbox" name="ic" onclick="single_check()"/></td>
<td width="80"><img src="img/1.jpg" alt="此处暂时没有图片"></td>
<td width="170" align="left"><a >新款春装韩版长款两件套连衣裙女名媛欧根纱长袖裙套装长裙</a></td>
<td>699</td>
<td>1</td>
</tr>
<tr>
<td><input type="checkbox" name="ic" onclick="single_check()"/></td>
<td width="80"><img src="img/2.jpg" alt="此处暂时没有图片"></td>
<td width="170" align="left">新款女装夏修身高腰长款连衣裙女雪纺短袖裙名媛粉色收腰长裙</td>
<td>399</td>
<td>1</td>
</tr>
<tr>
<td><input type="checkbox" name="ic" onclick="single_check()"/></td>
<td width="80"><img src="img/3.jpg" alt="此处暂时没有图片"></td>
<td width="170" align="left">新款绵麻衬衫女短袖白色衬衣亚麻纯色百搭宽松上衣</td>
<td>268</td>
<td>2</td>
</tr>
<tr>
<td colspan="4"><span onclick="removeRow()">删除选中</span></td>
<td><b>结算</b></td>
</tr>
</table>
<script>
var all=document.getElementById("all");//获取全选按钮对象
function all_check(){ //实现全选,全不选效果
var oInput=document.getElementsByName("ic"); //获取非标题行中的所有的复选按钮
for(var i=0;i<oInput.length;i++)
oInput[i].checked=all.checked;
}
function single_check(){
var oInput=document.getElementsByName("ic");
var j=0;
for(var i=0;i<oInput.length;i++)
if(oInput[i].checked==true) //判断选中多少个非标题行中的复选按钮
j++;
if(j==oInput.length) //全部选中
all.checked=true; //标题行中的全选按钮设为选中状态
else
all.checked=false;
}
function removeRow(){
var cheObj=document.getElementsByName("ic");
var taObj=document.getElementById("list");
if(confirm("确定要删除吗?"))
for(var k=0;k<cheObj.length;k++){
if(cheObj[k].checked){ //获取索引行
taObj.deleteRow(k+1);
k=-1; //索引回到最前端
}
}
document.getElementById("all").checked=false;
}
var taObj=document.getElementById("list");
for(var k=0;k<taObj.rows.length;k++)
{
taObj.rows[k].onmouseover=function(){
this.bgColor="#ddd";
}
taObj.rows[k].onmouseout=function(){
this.bgColor="#d9ffdc";
}
}
</script>
</body>
</html>
上一篇: 机器学习算法之感知机算法