我使用wordpress和插件JQ Price Format格式化输入['preco-novo']上的数字,因此用户输入eq 3400000并显示34.000,00。问题是我需要将其保存为INT,此插件正在编辑数字并保存为浮点数。有什么想法吗?
jQuery(document).ready(function ($) { $('input[name="wpcf[preco-novo]"]').priceFormat({
prefix: '',
centsSeparator: ',',
thousandsSeparator: '.' }); }); JQuery('input[name="wpcf[preco-novo]"]').focusout(function($) { $('input[name="wpcf[preco-novo]"]').priceFormat({
prefix: '',
centsSeparator: '',
thousandsSeparator: '' }); });
答案 0 :(得分:0)
为什么不使用Math.floor(your_float)
?
答案 1 :(得分:0)
尝试使用parseInt功能
答案 2 :(得分:0)
好吧,由于wordpress兼容性错误预防,我遇到了$ jQuery的问题。
工作代码是这样的:
jQuery('input[name="wpcf[preco-novo]"]').focus(function ($) {
jQuery('input[name="wpcf[preco-novo]"]').priceFormat({
prefix: '',
centsSeparator: ',',
thousandsSeparator: '.'
});
});
jQuery('input[name="wpcf[preco-novo]"]').focusout(function ($) {
jQuery('input[name="wpcf[preco-novo]"]').priceFormat({
prefix: '',
centsSeparator: '',
thousandsSeparator: ''
});
});
感谢所有善意分享您知识的人
答案 3 :(得分:0)
我不确定您为什么要将价格保存为int,但这里几乎没有选择。让你的拥有priceFormat
和unFormat
功能不难,避免使用外部jQuery插件来处理像这样的小事:
function priceFormat (num) {
num = isNaN(num) || num === '' || num === null ? 0.00 : num;
return parseFloat(num).toFixed(2);
}
function unFormat(num){
return parseInt((num).replace('.',''));
}
然后你可以这样做:
$('input[name="wpcf[preco-novo]"]').focus(function(){
$(this).val(priceFormat($this.val());
}).focusout(function(){
$(this).val(unFormat($this.val());
});