如何jquery输入数组与自动小数(每个)

时间:2013-02-24 12:34:51

标签: jquery arrays forms decimal

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

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

我也有一个自动小数的javascript这样的... (此脚本会自动将2位小数加到值中。

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中没有进步)

3 个答案:

答案 0 :(得分:1)

$('input[name~="price"]').blur(function(){
    var myNumeric = parseFloat($(this).val());
    if (!myNumeric) 
    {
        $(this).val('0.00');
    } 
    else 
    {
        $(this).val(myNumeric.toFixed(2));
    }
});

答案 1 :(得分:0)

<强> DEMO

$("input:text").on("keyup", function(e) {
    var myNumeric = parseFloat($(this).val());
    if (!myNumeric) 
    {
        $(this).val('0.00');
    } 
    else 
    {
        $(this).val(myNumeric.toFixed(2));
    }
});

答案 2 :(得分:0)

你可以重用函数'autodecimal',但只需传递一个正确的jquery选择器,就像slash197建议的那样:

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

这应该有用。

相关问题