-1

我使用 wordpress 和插件JQ Price Format来格式化 Input['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: '' }); });
4

4 回答 4

0

尝试使用parseInt函数

于 2013-01-22T21:46:37.233 回答
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: ''
    });
});

感谢所有愿意分享您的知识的人

于 2013-01-22T22:02:18.257 回答
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());
});
于 2013-01-22T22:11:22.600 回答
0

你为什么不使用Math.floor(your_float)

于 2013-01-22T21:43:56.253 回答