0

我有一些输入框字段从数据库记录计数循环看起来像这样..

<input name="price[]" id="price_1" />
<input name="price[]" id="price_2" />
<input name="price[]" id="price_3" />

而且我还有一个用于自动十进制的 javascript,如下所示...(此脚本将自动将 2 个十进制 0.00 填充到值中。

function autoDecimal(el){
$(el).blur(function(){
    var myNumeric = parseFloat($(this).val());
    if (!myNumeric) {
        $(this).val('0.00');
    } else {
        $(this).val(myNumeric.toFixed(2));
    }
});
}

该脚本仅可完美运行 1 个元素 id,例如

autoDecimal('#a');

但我需要改进它以检查所有带有数组名称的输入框。像这样或比下面的代码更好的东西。

$('input['price']).each(function(){
// do auto matic add decimal each input box
});

如果您有想法,请分享。

谢谢(我在 javascript 或 jquery 方面并不先进)

4

3 回答 3

1
$('input[name~="price"]').blur(function(){
    var myNumeric = parseFloat($(this).val());
    if (!myNumeric) 
    {
        $(this).val('0.00');
    } 
    else 
    {
        $(this).val(myNumeric.toFixed(2));
    }
});
于 2013-02-24T12:38:43.183 回答
0

您可以重用函数“自动十进制”,但只需将正确的 jquery 选择器传递给它,就像 slash197 建议的那样:

autoDecimal('input[name~="price"]');

这应该有效。

于 2013-02-24T13:20:43.713 回答
0

演示

$("input:text").on("keyup", function(e) {
    var myNumeric = parseFloat($(this).val());
    if (!myNumeric) 
    {
        $(this).val('0.00');
    } 
    else 
    {
        $(this).val(myNumeric.toFixed(2));
    }
});
于 2013-02-24T12:41:40.753 回答