脚本生成的输入没有正确格式化

时间:2014-08-10 13:41:55

标签: javascript jquery events triggers

刚开始使用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 />

1 个答案:

答案 0 :(得分:0)

我已经解决了这个舍入到2个十进制空格的问题。我放弃了jquery&#34;两位数&#34;代码并使用Math.round(* 100)/ 100

替换它