【发布时间】: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