【问题标题】:script generated input not formatting properly脚本生成的输入格式不正确
【发布时间】:2014-08-10 13:41:54
【问题描述】:

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

【问题讨论】:

  • /2.54 会不会造成这种情况?
  • 脚本生成的数字是什么意思?
  • 嗨 Zee Tee,/2.54 不是问题。我有另一个由另一个脚本自动填充的输入字段。这有同样的问题。计算出的答案是正确的,但只有 14 位小数。
  • 嗨 Kinnza,当我说脚本生成的数字时。我的意思是用户在“cm”字段中输入尺寸。然后当他们点击下一个字段时。函数 cmConverter() 脚本将此大小转换为英寸并将此结果添加到英寸字段中。唯一的问题是结果是小数点后 14 位。

标签: javascript jquery events triggers


【解决方案1】:

我已经解决了这个四舍五入到 2 个小数位的问题。我放弃了 jquery “两位数”代码并使用 Math.round(*100)/100

替换它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    相关资源
    最近更新 更多