修正了模糊不想开火的问题

toFixed onBlur not wanting to fire?

本文关键字:开火 问题 不想 模糊      更新时间:2023-09-26

我正试图使数字输入自动移位到小数点后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));
    });
编辑:

为了更仔细地查看我的问题—我创建了一个fiddle: http://jsfiddle.net/drewwyatt/AEWHs/

this.value代替$(this).value:

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

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

进一步的问题在于输入值类型。您需要通过parseFloat, parseInt将其值解析为整数,否则

$("#moneyAccountedFor").blur(function() {
    this.value = parseInt(this.value).toFixed(2);
});
http://jsfiddle.net/AEWHs/2/

我可以使用

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