toFixed onBlur不想开火?

时间:2013-03-24 22:56:02

标签: javascript jquery

我试图让输入的数字自动转移到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/

2 个答案:

答案 0 :(得分:3)

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

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

$(this).val()如果你更喜欢jQuery'ish。

<强>更新

进一步的问题在于输入值类型。您需要通过parseFloatparseInt else ...将其值解析为整数...

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

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

答案 1 :(得分:0)

我能够使用

让这个工作
<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/