本文目录一览:
- 1、js表单计算金额问题
- 2、javascript自动计算金额(计算结果只显示小数点后的两位)
- 3、javascript自动计算金额(急)
- 4、JS代码自动计算代码小数保留两位位四舍五入只允第一个文本框内输入数字和不数点不允许输入字母和其它的字
js表单计算金额问题
我把你那个改成表格的了~这样比较好实现~代码如下:
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
tdinput type="checkbox" id="qianbi"//td
td铅笔/td
td1.5元/支/td
tdinput type="text" id="qianbi_t" value="1" //td
/tr
tr
tdinput type="checkbox" id="yuanzhu" value="" //td
td圆珠笔/td
td2.5元/支/td
tdinput type="text" id="yuanzhu_t" value="1" //td
/tr
tr
tdinput type="checkbox" id="gangbi" value="" //td
td钢笔/td
td3元/支/td
tdinput 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
复制到网页的body中去就行了~试试看~不懂得再来问我~
javascript自动计算金额(计算结果只显示小数点后的两位)
JS保留两位小数
对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal-parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
return f_x;
}
功能:将浮点数四舍五入,取小数点后2位
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1475926) 返回 3.15
js保留2位小数(强制)
对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:
changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:
function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal-parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal 0)
{
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length = pos_decimal + 2)
{
s_x += '0';
}
return s_x;
}
功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1) 返回 3.10
javascript自动计算金额(急)
你的补充问题错在这句sum[i]=amount[i]*price[i];
改成这样sum[i].value=amount[i].value*price[i].value;
JS代码自动计算代码小数保留两位位四舍五入只允第一个文本框内输入数字和不数点不允许输入字母和其它的字
form name="form1" method="post" action=""
p请您输入金额:
input type="text" name="spp" onKeyup="accu()"
/p
p含手续费金额: input name="dlp" value="0" disabled size="20"
/p
pscript language="JavaScript"
function accu()
{
with(document.form1){
spp.value=spp.value.replace(/[^\d\.]/g,'');
sp=spp.value;
sp=parseFloat(sp);
var n=String(sp*1.015);
//if(/\./.test(n))return
n=n.split('.');
if(n.length==1)return dlp.value=n[0];
if(n[1].length3)return dlp.value=n.join('.');
n[1]=n[1].replace(/(\d{3}).*/,"$1");
n=Math.round(parseInt(n.join(''),10)/10)/100;
dlp.value=n;
}
}
/script