我对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,''))})
});`发布于 2014-07-25 13:34:00
您的函数格式是错误的,您应该尝试如下:
$('#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/
https://stackoverflow.com/questions/24956843
复制相似问题