关于使用js完成购物车计算时的一些问题。

问题一:获取相同的name属性的数值。

解决方法:遍历

具体代码

var allbooknum =document.getElementsByName('booknum');//“booknum”为你的name属性
var allbookprice =document.getElementsByName('bookprice');

for ( var i = 0; i < allbooknum.length; i++) {
     console.info("allbooknum:"+allbooknum[i].value);
    console.info("allbookprice:"+allbookprice[i].value);
  }

  

问题二:如何求两个数值和

错误原因:js中默认获取的value数值,通用“+”是相连

解决方法:将value数值转化为number,或者float进行计算

具体代码

转为浮点型:parseFloat(变量)
total=parseFloat(total)+parseFloat(allsubtotal[i].value);
转为整形:parseInt(变量)
total=parseInt(total)+parseInt(allsubtotal[i].value);

  

问题三:如何对结果进行保留小数点后两位

解决方法:这个方法很多,我这边就取最简单的,如果不符合要求可以在具体搜索

具体代码:

toFixed使用方法:变量.toFixed(保留几位小数)
var subtotal=allbooknum[i].value*allbookprice[i].value;
var allsubtotal[i].value=subtotal.toFixed(2);

  

问题四:监听数值变化事件

具体代码

$(function () {
            $('input').bind('input propertychange', function() {

            });
        })
原文地址:https://www.cnblogs.com/hahayixiao/p/14863681.html