思路:
1、获取被选中checkbox,通过checked属性的状态完成;
2、获取被选中的checkbox的value值;
3、求所有value的和sum;
4、定义span区域存储和sum;
 
代码如下:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>表单组件:全选操作</title>
    <script type="text/javascript">
        function checkAll(index){
            var node = document.getElementsByName("all")[index];
            var items = document.getElementsByName("item");
            for(var i=0; i<items.length; i++){
                items[i].checked = node.checked;
            }
        }
    </script>
</head>
<body>
    <p></p>
    <input type="checkbox" name="all" onclick="checkAll(0)"/>全选<br/>
    <input type="checkbox" name="item" value="100"/>商品1<br/>
    <input type="checkbox" name="item" value="100"/>商品2<br/>
    <input type="checkbox" name="item" value="100"/>商品3<br/>
    <input type="checkbox" name="item" value="100"/>商品4<br/>
    <input type="checkbox" name="item" value="100"/>商品5<br/>
    <input type="checkbox" name="item" value="100"/>商品6<br/>
    <input type="checkbox" name="all" onclick="checkAll(1)"/>全选
</body>
</html>
 
代码如下:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>购物车显示选中购买物品的总金额</title>
    <script type="text/javascript">
        function checkAll(index){
            var node = document.getElementsByName("all")[index];
            var items = document.getElementsByName("item");
            for(var i=0; i<items.length; i++){
                items[i].checked = node.checked;
            }
        }
 
        function getSum(){
            var items = document.getElementsByName("item");
            var sum = 0;
            for(var i=0; i<items.length; i++){
                if(items[i].checked){
                    sum += parseInt(items[i].value);
                }
            }
            /*获取单个节点用getElementById
              获取节点数组用getElementsById
             */
            var spanNode = document.getElementById("sum");
            var str = sum + "元";
            spanNode.innerHTML = str.fontsize(8);
        }
    </script>
</head>
<body>
    <br/>
    <input type="checkbox" name="all" onclick="checkAll(0)"/>全选<br/>
    <input type="checkbox" name="item" value="105"/>商品1<br/>
    <input type="checkbox" name="item" value="214"/>商品2<br/>
    <input type="checkbox" name="item" value="113"/>商品3<br/>
    <input type="checkbox" name="item" value="77"/>商品4<br/>
    <input type="checkbox" name="item" value="91"/>商品5<br/>
    <input type="checkbox" name="item" value="536"/>商品6<br/>
    <input type="checkbox" name="all" onclick="checkAll(1)"/>全选<br/>
    <input type="button" value="显示总金额" onclick="getSum()"/><span id="sum"></span>
</body>
</html>
 

JS实战 · 复选框全选操作的更多相关文章

  1. js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中

    <!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...

  2. html+css+js实现复选框全选与反选

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. js 判断 复选框全选、全不选、反选、必选一个

    一个挺 使用的 js 代码片段,  判断  复选框全选.全不选.反选.必选一个 记录下, 搬来的 思路: 修改数据的 选中与否状态, 拿到所有的输入框,看是否有选中的状态 <html> & ...

  4. FineReport——JS二次开发(复选框全选)

    在进行查询结果选择的时候,我们经常会用到复选框控件,对于如何实现复选框全选,基本思路: 在复选框中的初始化事件中把控件加入到一个全局数组里,然后在全选复选框里对数组里的控件进行遍历赋值. 首先,定义两 ...

  5. js实现复选框全选/全不选/反选

    js实现复选框全选/全不选/反选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  6. checkbox复选框全选批量删除

    多选框全选实现批量删除 html代码 <body> <form action="" method="post" name="Form ...

  7. toFixed()精度丢失;复选框全选、取消

    一.精度丢失和重写toFixed()函数 1.重写toFixed() Number.prototype.toFixed = function(length){ var carry = 0; //存放进 ...

  8. jQuery 复选框全选/取消全选/反选

    jQuery实现的复选框全选/取消全选/反选及获得选择的值. 完整代码: <!DOCTYPE html> <html> <head> <script type ...

  9. jQuery实现复选框 全选、反选、全不选

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  10. js进阶 9-16 如何实现多选框全选和取消

    js进阶 9-16 如何实现多选框全选和取消 一.总结 一句话总结:选择取到每一个checkbox的值,然后赋值为true或者false就好. 1.如何实现多选框全选和取消? 选择取到每一个check ...

随机推荐

  1. linux zip命令使用

    1.压缩文件zip -r result.zip /data/*.* //将data这个目录下的所有文件进行压缩,并形成result.zip压缩文件2.分卷压缩文件zip -s 1g result.zi ...

  2. SPOJ DISUBSTR ——后缀数组

    [题目分析] 后缀数组模板题. 由于height数组存在RMQ的性质. 那么对于一个后缀,与前面相同的串总共有h[i]+sa[i]个.然后求和即可. [代码](模板来自Claris,这个板子太漂亮了) ...

  3. dedecms为文档页增加动态点击

    加上 <script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id' ...

  4. 最大流-最小割 MAXFLOW-MINCUT ISAP

    简单的叙述就不必了. 对于一个图,我们要找最大流,对于基于增广路径的算法,首先必须要建立反向边. 反向边的正确性: 我努力查找了许多资料,都没有找到理论上关于反向边正确性的证明. 但事实上,我们不难理 ...

  5. c#比较两个List相等

    1.if(ListA.Count == ListB.Count && ListA.Count(t => !ListB.Contains(c)) == 0) 数量相等,元素值相等即 ...

  6. Android 利用RecyclerView.Adapter刷新列表中的单个view问题

    首先使用RecyclerView的adapter继承:RecyclerView.Adapter public class OrderListAdapter extends RecyclerView.A ...

  7. iMetro

    body { background:#FFFFFF url("http://images.cnblogs.com/cnblogs_com/mookmark/745172/o_8.jpg&qu ...

  8. 简述TCP连接的建立与释放(三次握手、四次挥手)

    在介绍TCP连接的建立与释放之前,先回顾一下相关知识. TCP是面向连接的运输层协议,它提供可靠交付的.全双工的.面向字节流的点对点服务.HTTP协议便是基于TCP协议实现的.(虽然作为应用层协议,H ...

  9. hdu3549还是网络流

    最后一次训练模板(比较熟练了) 接下来训练网络流的建图 #include <cstdio> #define INF 2147483647 int n,m,ans,x,y,z,M,h,t,T ...

  10. 4_jquery

    官网:www.jquery.com 兼容: 1.jquery-3.1.0.js :form.attr("checked","false")无效 2.firefo ...