$(function() { $("#insert") .click( function() { var td_delete = $("<td width='3%' class='delete'>").text("删除"); // 产品名称 var td_category = $("<td>").text($("#category").find("option:selected").text()); // 加工费 var td_categoryfee = $("<td>").text($("#categoryfee").text()); // 包装 var td_package = $("<td>").text($("#packagefee").text()); // 表面处理 var td_surface = $("<td>").text($("#surfacefee").text()); // 不含税 var td_qushui = $("<td class='qushui'>").text($("#qushui").text()); // 含税 var td_total = $("<td class='hanshui'>").text($("#price").text()); // 重量 var td_weight = $("<td><input onkeyup='return ValidateFloat(this,value)' class='weight' type='text' value='0' onfocus='this.select()'>"); // 不含税总价 var td_totalOuttax = $("<td><div class='allqushui'>"); // 含税总价 var td_totalintax = $("<td><div class='allhanshui'>"); var tr = $("<tr class='insertTr'>") var table = $("table:last tr:last"); tr.append(td_delete).append(td_category).append(td_categoryfee).append(td_package).append( td_surface).append(td_qushui).append(td_total).append(td_weight).append(td_totalOuttax) .append(td_totalintax); table.before(tr); colorChange(); sum(); }); function ValidateFloat(e, pnumber) { if (!/^\d+[.]?\d*$/.test(pnumber)) { e.value = /^\d+[.]?\d*/.exec(e.value); } return false; } })
input是动态加入的,我现在只能做到输入小数并且只能有一个小数点,
我现在需要实现的功能是:在输入数字的时候,自动判别小数点后边的位数,只能输入小数点后三位,多余的自动四舍五入,并且不显示多余的。
请各位帮帮忙
问题关键在于四舍五入,这里给一点提示,
Math.round(12.0065*1000)/1000; 它会返回12.007 接下来 发生的事就看你了
好办啊,方法里面作个判断,如果输入的小数点位数在3位以内 放行,ELSE 输入的是小数点后第四位通过上面仁兄的操作后数据返回。
我写了代码但是不管用呀
@horse_leo: 怎么会呢,解决了吗?