<table width="600" border="1" align="center" style="text-align:center;">

  <tr>
    <td width="102"><input type="checkbox" id="all"/>全选</td>
    <td width="203">商品</td>
    <td width="119">单价</td>
    <td width="148">数量</td>
  </tr>
  <tr>
    <td><input type="checkbox" id="qianbi"/></td>
    <td>铅笔</td>
    <td>1.5元/支</td>
    <td><input type="text" id="qianbi_t" value="1" /></td>
  </tr>
  <tr>
    <td><input type="checkbox" id="yuanzhu" value="" /></td>
    <td>圆珠笔</td>
    <td>2.5元/支</td>
    <td><input type="text" id="yuanzhu_t" value="1" /></td>
  </tr>
  <tr>
    <td><input type="checkbox" id="gangbi" value="" /></td>
    <td>钢笔</td>
    <td>3元/支</td>
    <td><input type="text" id="gangbi_t" value="1" /></td>
  </tr>
  <tr>
    <td colspan="4">金额合计:<span id="m" style="color:#F00;"></span>元&nbsp;&nbsp;&nbsp;&nbsp;<button>提交订单</button></td>
  </tr>
</table>
<script type="text/javascript">
    var all=document.getElementById("all");
    var qianbi=document.getElementById("qianbi");
    var yuanzhubi=document.getElementById("yuanzhu");
    var gangbi=document.getElementById("gangbi");
    var qb_m=0,yzb_m=0,gb_m=0;
    all.onclick=function(){
        if(all.checked){
            qianbi.checked=true;
            yuanzhubi.checked=true;
            gangbi.checked=true;
        }
        else{
            qianbi.checked=false;
            yuanzhubi.checked=false;
            gangbi.checked=false;
        }
        sub();
    };
    qianbi.onclick=function(){sub()};
    yuanzhubi.onclick=function(){sub()};
    gangbi.onclick=function(){sub()};
    document.getElementById("qianbi_t").addEventListener("change",function(e){
        sub();
    });
    document.getElementById("yuanzhu_t").addEventListener("change",function(e){
        sub();
    });
    document.getElementById("gangbi_t").addEventListener("change",function(e){
        sub();
    });
    function sub(){
        if(qianbi.checked){
            qb_m=document.getElementById("qianbi_t").value*1.5
        }
        else{
            qb_m=0;
            all.checked=false;
        }
        if(yuanzhubi.checked){
            yzb_m=document.getElementById("yuanzhu_t").value*2.5
        }
        else{
            yzb_m=0;
            all.checked=false;
        }
        if(gangbi.checked){
            gb_m=document.getElementById("gangbi_t").value*3
        }
        else{
            gb_m=0;
            all.checked=false;
        }
        var sum=qb_m+yzb_m+gb_m;
        document.getElementById("m").innerHTML=sum;
    }
</script>

js表单计算金额问题的更多相关文章

  1. js表单验证工具包

    常用的js表单验证方法大全 /* 非空校验 : isNull() 是否是数字: isNumber(field) trim函数: trim() lTrim() rTrim() 校验字符串是否为空: ch ...

  2. JS表单验证-12个常用的JS表单验证

    JS表单验证-12个常用的JS表单验证 最近有个项目用到了表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~ 1. 长度限制 <p>1. 长度 ...

  3. js 表单验证控制代码大全

    js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...

  4. node.js表单——formidable/////z

    node.js表单--formidable   node处理表单请求,需要用到formidable包.安装formidable包的命令如下: npm install formidable 安装pack ...

  5. js表单提交,面向对象

    一.js表单验证之后再提交 1.普通按钮onclick函数调用表单的submit()函数 <input type=button name="submit1" value=&q ...

  6. jquery.validation.js 表单验证

    jquery.validation.js 表单验证   官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...

  7. Jquery.validate.js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

  8. angular js 表单验证

    <!doctype html> <html ng-app="myapp"> <head> <meta charset="UTF- ...

  9. JS表单验证类HTML代码实例

    以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...

随机推荐

  1. bazel-demo2_1

    demo2_1目录树 ├── app │ ├── BUILD │ ├── hello_world.cpp │ └── lib │ ├── BUILD │ ├── func.cpp │ └── func ...

  2. 将socket通信变成并发的方式

    一 利用multiprocessing模块,开启多进程,实现socket通信并发 1. 开启子进程的两种方式 import time import random from multiprocessin ...

  3. spark结构化数据处理:Spark SQL、DataFrame和Dataset

    本文讲解Spark的结构化数据处理,主要包括:Spark SQL.DataFrame.Dataset以及Spark SQL服务等相关内容.本文主要讲解Spark 1.6.x的结构化数据处理相关东东,但 ...

  4. LeetCode: Word Ladder II 解题报告

    Word Ladder II Given two words (start and end), and a dictionary, find all shortest transformation s ...

  5. Android开发日记(一)

    实现点击一个图片按钮跳转到一个动作ImageViewSchoolCard = (ImageView) view.findViewById(R.id.ImageViewLostThings); Imag ...

  6. git 远程仓库版本的回退以及git reset 几种常用方式记录

    由于 github push 了两个比较潦草的commit, 自己很不满意,又不想重新开vpn进行上传,所以找了一下相关的教程. 最后研究了一下,原理为先在本地还原到你想要的commit,然后强制pu ...

  7. CSS样式表——布局练习(制作360网页)

    以制作360网页为例(只做到了静态网页) 提纲:1.总共分为7部分 悬浮窗: 源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra ...

  8. IOS中摇一摇实现截屏(可实现问题反馈的功能)

    有一段时间没有更新博客了,今天更新一篇关于最近工作中用到的一个功能,先简单描述一下:我们知道,测试人员在测试客户端产品时,当出现问题或者BUG的时候,都得先对页面截图,然后从相册中选择截图,加上一段描 ...

  9. tp-03 模板显示

    方式模板:$this->display(); 每当建立一个控制器  都要在view建立一个名字相对应的文件夹   在建立相对于的页面.

  10. 各种api接口

    实用号码归属地查询(IP 地址,手机号码): 默认格式: http://api.liqwei.com/location/ (使用来访者的 IP 地址) 指定 IP 地址格式: http://api.l ...