如何修复到两个小数位 - php

时间:2012-04-02 13:13:39

标签: jquery

您好我有下表

<table id="rates">
    <tr id="r1" class="edited">
        <td><input type="text" name="f11" value="10" /></td>
        <td><input type="text" name="f12" value="20" /></td>
    </tr>
    <tr id="r2">
        <td><input type="text" name="f21" value="50" /></td>
        <td><input type="text" name="f22" value="60" /></td>
    </tr>
    <tr id="r3" class="edited">
        <td><input type="text" name="f31" value="100" /></td>
        <td><input type="text" name="f32" value="200" /></td>
    </tr>
</table>

输入文字更改后,我将.edited添加到tr。我想要的是,我希望在任何文本更改后将.edited行中的所有值修复为两位小数。我该如何实现呢? Plz帮助。

3 个答案:

答案 0 :(得分:1)

当您确认新编辑的值时,只应用.toFixed()方法指定小数点后您想要的位数。此方法应用于number值,因此在使用该方法之前,只需执行值{1}}的值

请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Number/toFixed

答案 1 :(得分:0)

你可以做到

$('input').change(function(){
    $(this).closest('tr').addClass('edited');
    $('tr.edited input').each(function(){
       this.value = Math.round(this.value*100)/100;
    });
});

在这里摆弄http://jsfiddle.net/F5Ghx/

答案 2 :(得分:0)

 jQuery('input').change(function(){
      var $row = jQuery('.edited');
        var values = $row.find("input:text").map(function() {
            return jQuery(this).val();
        }).get();


        $row.each(function() {
          jQuery(this).find("input:text").each(function(index) {
              var val = values[index];
              jQuery(this).val(Number(val).toFixed(2));
          });
        });
});