-1

ユーザーが eq 3400000 を入力すると、34.000,00 が表示されるように、wordpress とプラグインJQ Price Formatを使用して Input['preco-novo'] の数値をフォーマットします。問題は、それを INT として保存する必要があることです。このプラグインは数値を編集し、float として保存しています。何か案は?

 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

価格を int として保存する理由はわかりませんが、ここにはいくつかのオプションがあります。独自の機能を作成するのは難しくありませんpriceFormatunFormat次のような小さなものに外部 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 に答える
0

parseInt関数を使用してみてください

于 2013-01-22T21:46:37.233 に答える
0

OK、wordpress の互換性エラー防止のため、$ an 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 に答える