0

我正在尝试使输入的数字自动移动到小数点后 2 位 - 但经过几次尝试后我无法做到这一点 - 和想法?:

html

<tr>
    <td colspan="2" class="null"></td>
    <td class="label">Money Accounted For</td>
    <td class="field"><input type="text" name="moneyAccountedFor" id="moneyAccountedFor" tabindex="7" /></td>
</tr>

jQuery

$("#moneyAccountedFor").blur(function() {
        $(this).val($(this).value.toFixed(2));
    });

编辑: 为了更仔细地查看我的问题 - 我创建了一个小提琴:http: //jsfiddle.net/drewwyatt/AEWHs/

4

2 回答 2

3

使用this.value代替$(this).value

$("#moneyAccountedFor").blur(function() {
    this.value = this.value.toFixed(2);
});

或者,如果您更喜欢 jQuery'ish。$(this).val()

更新

另一个问题在于输入值类型。您需要通过将其值解析为整数parseFloatparseInt否则...

$("#moneyAccountedFor").blur(function() {
    this.value = parseInt(this.value).toFixed(2);
});

http://jsfiddle.net/AEWHs/2/

于 2013-03-24T22:58:23.073 回答
1

我能够使用

<tr>
    <td colspan="2" class="null"></td>
    <td class="label">Money Accounted For</td>
    <td class="field"><input type="text" name="moneyAccountedFor" id="moneyAccountedFor" onblur ="this.value = Number(this.value).toFixed(2)"></td>
</tr>

在这里提琴:

http://jsfiddle.net/drewwyatt/AEWHs/1/

于 2013-03-24T23:47:16.523 回答