0

可能重复:
JavaScript:格式化数字正好有两位小数

我需要一个 JS (jQuery) 脚本,它可以帮助我将数字的输入限制为两位小数。

我已经尝试过,它完美地将我的输入限制为浮点数或整数。但我不明白如何将其限制为小数点后两位。

我还在这里查看了许多其他答案,但似乎没有一个可以阻止用户在输入时输入超过两位数。

有什么建议么?谢谢。

编辑:我的代码,如果有帮助

表格:

<form method="post" id="split_form" 
    action="?name=ajax&case=split_action&sid=' . $id . '" 
    onSubmit="return checkform(this);" >

    <table class="default" cellpadding="0" cellspacing="0">
      <tr><td><input class="numeric1" type="text" name="summ_1" value="" />
      <tr><td><input class="numeric2" type="text" name="summ_2" value="" />
    </table>
    <input type="submit" class="submit" value="ok" />

</form>

JS 脚本:

<script type="text/javascript" src="/js/jquery.numeric.js"></script>
<script language="JavaScript" type="text/javascript">
    $(".numeric1").numeric();
    $(".numeric2").numeric();

    function checkform ( form ) {
        var sum1 = form.summ_1.value;
        var sum2 = form.summ_2.value;
        var new_summ = parseFloat(sum1) + parseFloat(sum2);
        var summ = parseFloat(' . $row[1]['summ'] . ');

        if ( ( sum1 > 0 && sum2 > 0 ) && ( new_summ == summ ) ) {
            return true;
        } else {
            return false ;
        }   
    }
</script>
4

1 回答 1

1

数字插件第 135 行中,处理了数字条目。目前,它们总是被允许的。您可以修改此插件以仅在小数点不存在或不超过两步时才允许数字:

var decimalIx = $(this).val().indexOf(decimal);
allow = decimalIx == -1 || decimalIx >= $(this).val().length - 2;

我打算进行可-2配置的,但正如 Alex Ball 在评论中指出的那样,工作已经完成

于 2012-07-31T07:33:59.163 回答