我在朋友的帮助下制作了这个jquery脚本。
小提琴http://jsfiddle.net/Wu7k7/
jquery:
$('input[name=rdOptin]').click(function(){
var selected=$(this).val();
var var0 = 0.3;
var var1 = 20;
var var2 = var1 * 3.9 / 100;
var var3 = 20;
var var4 = (var1 + var3) * 3.9 / 100;
if (selected == 'norm'){
$("#calc_value").html(var0 + var1 + var2);}
else {
$("#calc_value").html(var0 + var1 + var3 + var4);}
});
html表单
<form id="form1" name="form1" method="post" action="form1.php"> <b> Option 1:</b>
<input type="radio" name="rdOptin" value="norm" checked="checked" />Normal
<input type="radio" name="rdOptin" value="exp" />Expert
<br />
<b>Calculated Value:</b>
<div class="valueDisp">
<div id="calc_value">
select options
</div>
</div>
我试图在选择的输出中添加一个文本元素。例如说:在选择"专家"电台的输出是"41.86",我怎么能让这个输出看起来像"数字41.86"
在选择"正常"收音机时,输出为"21.080000000000002",我如何将其固定为"21.08"?
这对我来说相当棘手。
请帮助朋友。
提前非常感谢。
使用.toFixed()
将浮点数字转换为固定精度的十进制字符串。此外,将您的计算与演示分开,以避免重复:
var result;
if (selected == 'norm'){
result = var0 + var1 + var2;
} else {
result = var0 + var1 + var3 + var4;
}
$('#calc_value').text("Numbers " + result.toFixed(2));
第一个问题可以通过将数字值附加到您想要的文本中来解决,就像一样
var yourVal = 41.86;
var outputVal = "Numbers "+yourVal;
对于第二期,使用.toFixed()
只使用小数点后两位。
var yourVal = 21.08000000000002;
var outputVal = yourVal.toFixed(2);
- 将"数字"放在
.html("Numbers "+yourNumber)
中,并使用: - toFixed()之前
较短的变体:
if (selected == 'norm')
var total = var0 + var1 + var2;
else
var total = var0 + var1 + var3 + var4;
$("#calc_value").html("Numbers "+total.toFixed(2));
DEMO
您需要使用.toFixed(2)来舍入此处的
$('input[name=rdOptin]').click(function(){
var selected=$(this).val();
var var0 = 0.3;
var var1 = 20;
var var2 = var1 * 3.9 / 100;
var var3 = 20;
var result;
if (selected == 'norm'){
result = var0 + var1 + var2;
} else {
var var4 = (var1 + var3) * 3.9 / 100;
result = var0 + var1 + var3 + var4;
}
$("#calc_value").html('Numbers: ' + result.toFixed(2));
}).filter(':checked').click();
演示:Fiddle