jQuery计算两个文本框中数字之和
下面是用jQuery做的,计算两个文本框中数字之和,没有考虑精度的。
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
- <scripttype="text/javascript"src="http://www.cnblogs.com/jQuery/jquery.js"></script>
- <scripttype="text/javascript">
- $(function(){
- var first = $("#first");// 获得ID为first标签的jQuery对象
- var second = $("#second");// 获得ID为first标签的jQuery对象
- var sumSP = $("#sumSP");// 获得ID为first标签的jQuery对象
- first.change(function(){
- var num1 = first.val();// 取得first对象的值
- var num2 = second.val();// 取得second对象的值
- var sum = (num1-0)+(num2-0);
- sumSP.text(sum);
- });
- second.change(function(){
- var num1 = first.val();
- var num2 = second.val();
- var sum = (num2-0)+(num1-0);
- sumSP.text(sum);
- });
- });
- </script>
- </head>
- <body>
- <center>
- <formaction="">
- 第一个数:<inputtype="text"size="25"id="first"/><br/><br/>
- 第二个数:<inputtype="text"size="25"id="second"/><br/><br/>
- 它们的和:<spanid="sumSP"style="color:red"></span>
- </form>
- </center>
- </body>
- </html>
其中num1-0的作用是把字符串num1变成数字,在JavaScript中把字符串"123456789"变成数字,最简单的办法就是"123456789"-0。
下面是考虑精度的代码。
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
- <scripttype="text/javascript"src="http://www.cnblogs.com/jQuery/jquery.js"></script>
- <scripttype="text/javascript">
- $(function(){
- var first = $("#first");// 获得ID为first标签的jQuery对象
- var second = $("#second");// 获得ID为first标签的jQuery对象
- var sumSP = $("#sumSP");// 获得ID为first标签的jQuery对象
- first.change(function(){
- var num1 = first.val();// 取得first对象的值
- var num2 = second.val();// 取得second对象的值
- var sum = add(num1,num2);
- sumSP.text(sum);
- });
- second.change(function(){
- var num1 = first.val();
- var num2 = second.val();
- var sum = add(num1,num2);
- sumSP.text(sum);
- });
- });
- function add(arg1,arg2){
- var a1,a2,m;
- try{
- a1 = arg1.toString().split(".")[1].length
- }catch(e){
- a1 = 0;
- }
- try{
- a2 = arg2.toString().split(".")[1].length
- }catch(e){
- a2 = 0;
- }
- m = Math.pow(10, Math.max(a1,a2));
- return (arg1*m+arg2*m)/m;
- }
- </script>
- </head>
- <body>
- <center>
- <formaction="">
- 第一个数:<inputtype="text"size="25"id="first"/><br/><br/>
- 第二个数:<inputtype="text"size="25"id="second"/><br/><br/>
- 它们的和:<spanid="sumSP"style="color:red"></span>
- </form>
- </center>
- </body>
- </html>