刚开始使用javascript并且一直在努力寻找格式化输入的解决方案。
我有一个表单,其中包含由计算脚本生成的输入。当我手动输入数字时,使用JQuery将它们格式化为2位小数。但是,当脚本生成数字时,格式化不起作用。我得到的数字是小数点后14位。
我已经阅读了有关未触发事件的内容。这是发生在这里吗?任何得到很好的帮助。
<script language="JavaScript">
// apply the two-digits behaviour to elements with 'two-digits' as their class
$( function() {
$('.two-digits').keyup(function(){
if($(this).val().indexOf('.')!=-1){
if($(this).val().split(".")[1].length > 2){
if( isNaN( parseFloat( this.value ) ) ) return;
this.value = parseFloat(this.value).toFixed(2);
}
}
return this; //for chaining
});
});
</script>
<script language="JavaScript">
<!--
function cmConverter(){
document.converter.inchwidth.value = document.converter.cmwidth.value / 2.54
document.converter.inchdrop.value = document.converter.cmdrop.value / 2.54
}
//-->
</script>
我的表单html
Width cm: <input type="text" name="cmwidth" onChange="cmConverter()" ><br />
Width Inch: <input type="text" name="inchwidth" id="a" class="two-digits"><br />
Drop cm: <input type="text" name="cmdrop" onChange="cmConverter()" ><br />
Drop Inch: <input type="text" name="inchdrop" id="d" class="two-digits"><br />
答案 0 :(得分:0)
我已经解决了这个舍入到2个十进制空格的问题。我放弃了jquery&#34;两位数&#34;代码并使用Math.round(* 100)/ 100
替换它