js制作选型全选不全选效果

本文介绍了一个简单的全选功能实现方案,通过JavaScript为全选框和商品选择框绑定事件,实现全选与单选状态同步。当点击全选框时,所有商品选择框的状态将与全选框保持一致;反之,当所有商品选择框被选中时,全选框也会自动选中。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>全选效果</title>
<style type="text/css">
.bg{
background-image: url(images/list_bg.gif);
background-repeat: no-repeat;
width: 730px;
}
td{text-align:center;
font-size:13px;
line-height:25px;
}
body{margin:0}
</style>


<script type="text/javascript">
window.onload=function(){
var all=document.getElementById("all"); //查找全选标签,
all.onclick=function(){
var products=document.getElementsByName("product");//查找所有name属性为product的标签
for (var i =0;i<products.length;i++) {
products[i].checked=all.checked;  //保证所有的product标签的checked属性和all的一致即可
}
};
var products=document.getElementsByName("product");//获取所有name属性为product的标签
for (var i=0;i<products.length;i++) {   //遍历所有的product 标签
products[i].onclick=hand;
}
function hand(){    //为每个product标签绑定点击触发事件
var curr=this.checked;         //获取当前点击按钮
if (curr==false) {             //如果当前的checekbox的checked状态为未选中,则all
all.checked=false;       //的选择状态一定是未选中状态,可停止判断,否则,当前
return;                  //的checkBox 为选中状态

for (var j =0;j<i;j++) {     //如果当前的checkbox为选中状态,则需要遍历循环其他剩余的
if (products[j].checked==false) {   //是否选中,如果未选中,则all一定是未选中状态
all.checked=false;            //否则,此时可确定所有checkbox为选中状态
return;
}
}
all.checked=true;
};
}
   


</script>


</head>


<body><table border="0" cellspacing="0" cellpadding="0" class="bg">
  <tr>
    <td style="height:40px;">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr style="font-weight:bold;">
    <td><input id="all" type="checkbox" value="全选" onclick="checkAll();" />全选</td>
    <td>商品图片</td>
    <td>商品名称/出售者/联系方式</td>
    <td>价格</td>
  </tr>
  <tr>
<td colspan="4"><hr style="border:1px  #CCCCCC dashed" /></td>
    </tr>
  
  <tr>
    <td><input name="product" type="checkbox" value="1" id="one" /></td>
    <td><img src="images/list0.jpg" alt="alt" /></td>
    <td>杜比环绕,家庭影院必备,超真实享受<br />
    出售者:ling112233<br />
    <img src="images/online_pic.gif" alt="alt" /> &nbsp;&nbsp;
<img src="images/list_tool_fav1.gif" alt="alt" /> 收藏</td>
    <td>一口价<br />
    2833.0 </td>
  </tr>
  <tr>
<td colspan="4"><hr style="border:1px  #CCCCCC dashed" /></td>
    </tr>
  <tr>
    <td><input name="product" type="checkbox" value="2" id="two" /></td>
    <td><img src="images/list1.jpg" alt="alt" /></td>
    <td>NVDIA 9999GT 512MB 256bit极品显卡,不容错过<br />
      出售者:aipiaopiao110 <br />
    <img src="images/online_pic.gif" alt="alt" /> &nbsp;&nbsp;
<img src="images/list_tool_fav1.gif" alt="alt" /> 收藏</td>
    <td>一口价<br />
    6464.0 </td>
  </tr>
  <tr>
<td colspan="4"><hr style="border:1px  #CCCCCC dashed" /></td>
    </tr>
  <tr>
    <td><input name="product" type="checkbox" value="3" id="three" /></td>
    <td><img src="images/list2.jpg" alt="alt" /></td>
    <td>精品热卖:高清晰,30寸等离子电视<br />
      出售者:阳光的挣扎 <br />
    <img src="images/online_pic.gif" alt="alt" /> &nbsp;&nbsp;
<img src="images/list_tool_fav1.gif" alt="alt" /> 收藏</td>
    <td>一口价<br />
    18888.0 </td>
  </tr>
  <tr>
<td colspan="4"><hr style="border:1px  #CCCCCC dashed" /></td>
    </tr>
   <tr>
    <td><input name="product" type="checkbox" value="4" id="four" /></td>
    <td><img src="images/list3.jpg" alt="alt" /></td>
    <td>Sony索尼家用最新款笔记本 <br />
      出售者:疯狂的镜无<br />
    <img src="images/online_pic.gif" alt="alt" /> &nbsp;&nbsp;
<img src="images/list_tool_fav1.gif" alt="alt" /> 收藏</td>
    <td>一口价<br />
     5889.0 </td>
  </tr>
  <tr>
<td colspan="4"><hr style="border:1px  #CCCCCC dashed" /></td>
    </tr>
</table>



</body>
</html>
功能说明 数据导入:支持拖放或点击上传Excel文件,显示文件名称,以百分比显示导入进度,含有清空当前文件的按钮,导入成功,需要弹确认窗口; 时间轴: 1.生成时间轴按钮,根据Excel数据生成时间轴,要美观简洁大方,百分比显示生成进度; 2.事件在时间轴两侧分布,事件的范围能超过时间轴,时间轴上有与事件的连接显示; 3.生成事件序号及总数,相邻事件的背景色同,轻颜色为主,时间轴通过序号排序,显示总事件数量及时间范围,序号显示在该事件的右上角,注意要与其他信息重合; 4.时间轴可以按年份和月份显示对应的事件数量。可以选择同一月份,合并事件,同一年份合并事件; 5.时间轴上相邻两项信息间隔紧凑; 6.可以根据表格中D列的内容筛选,可选择是否将含有筛选项的事件显示在时间轴上,支持多选、全选,显示各项的数量; 7.时间轴通过序号排序,显示总事件数量及时间范围,序号显示在该事件的右上角,注意要与其他信息重合; 高级设置: 1.所有设置项均放在高级设置里; 2.设置时间轴颜色和时间轴的宽度,页面为白色,相邻时间轴上的2个事件背景色同; 3.根据表格列名称设置筛选项,含有选中的项整个事件隐藏,显示在时间轴上; 4.日期格式,自动转换表格中的日期格式,能成功展示在时间轴上; 5.可以设置显示内容是在时间轴同一侧还是两侧交替显示,两侧显示时,事件尺寸能超过时间轴; 6.可以清空当前日志和清空时间轴; 7.时间轴上可以设置相邻事件的间距,将相邻事件紧凑 8.是否在时间轴显示excel各列的内容,默认都是显示,此项变化时,自动更新时间轴,增加时间轴内事件序号是否显示的设置,增加时间轴内,excel列名称是否显示的设置; 日期处理:正确显示Excel中的日期格式,时间轴的生成按照获取到的时间排序; 日志功能:记录所有关键操作,及错误信息,错误信息加粗及颜色标注,支持导出日志文件 视图控制:可以隐藏控制面板,专注查看时间轴,使用小型切换按钮,图标要小,影响查看时间轴; 名称:可修改时间轴的名称 页面布局: 1.控制面板紧凑,简洁,突出重点,时间轴美观简洁大方醒目,具有较高审美水平; 2.生成时间轴的内容需要根据Excel列名称确定,要模拟数据; 3.时间轴美观简洁大方醒目,具有较高审美水平; 4.对于事件描述中的数字加粗及同颜色标识突出,但是注意颜色搭配,要出现易观看的颜色; 5.适应屏幕尺寸 进度显示:所有进度显示都要有百分比
最新发布
08-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值