我对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,''))})
});`
答案 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/