问题一:获取相同的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() { }); })