在计算之前从格式化字段中删除格式

时间:2014-07-25 13:26:36

标签: jquery formatting field

我对jQuery缺乏经验,所以请耐心等待。我有一些字段,其中的数字格式为逗号,美元符号和用户输入的百分号。单击按钮时,将触发以下功能。我想要完成的是让字段无格式化,这样我就可以做一些计算并将结果传递给其他一些字段(我意识到这可能不是最好的方法)。否则,其他字段只填充" NaN"。

该功能用于删除逗号和百分号,但出于某种原因,不会删除包含它们的两个字段中的美元符号。

以下是使用jQuery插件格式化字段的两个函数:

$('.dollar').keyup(function () {
  $(this).autoNumeric('init', {aSep: ',', aSign: '$', mRound: 'u', mDec: '0'})
});

$('.percentage').keyup(function () {
  $(this).autoNumeric('init', {aSep: ',', aSign: '%', pSign: 's', mRound: 'u', mDec: '0'})
});

以下是取消格式化字段的功能,其中包括:

$('#resultsBtn').on('click', function(){
            $('#output .sectionBox').fadeIn()
            ,$('#resultsBtn').hide()
            ,$('#fieldI').val('70')
            ,$('[id^=field]').each(function(){$(this).val($(this).val().replace(/,/g,''))})
            ,$('.dollar').each(function(){$(this).val($(this).val().replace(/$/g,''))})
            ,$('.percentage').each(function(){$(this).val($(this).val().replace(/%/g,''))})
        });`

1 个答案:

答案 0 :(得分:0)

你的功能格式错误,你应该试试这个:

$('#resultsBtn').on('click', function () {
    $('#output .sectionBox').fadeIn();
    $('#resultsBtn').hide();
    $('#fieldI').val('70');
    $('[id^=field]').each(function () {
        $(this).val($(this).val().replace(',', ''));
    })
    $('.dollar').each(function () {
        $(this).val($(this).val().replace('$', ''));
    });
    $('.percentage').each(function () {
        $(this).val($(this).val().replace('%', ''));
    });
});

请注意我删除的逗号和我在每个函数末尾添加的分号。 你不需要在替换中使用正则表达式。

给你一个jsFiddle:http://jsfiddle.net/Bvfq8/2/