自动数值更改值

时间:2019-08-01 01:08:42

标签: javascript jquery codeigniter

我正在尝试让我的值具有一千个这样的分隔符,但我不了解如何使用jquery及其工作方式。

我希望将我的价值从1000提高到1000

我尝试像这样使用AutoNumeric,但失败了

var autonumeric = new AutoNumeric.multiple(".form-control");

这是我要更改值类型的表格:

<div class="form-group">
    <div class="row">
        <div class="col-lg-3">
            <label for="total" class="label-control" id="labelsubtotal">Total : </label>
        </div>
        <div class="col-lg-9">
            <input type="text" value="" style="text-align: right;" class="form-control" id="grandTotal" name="grandTotal" disabled>
        </div> 
    </div>
</div>

这是我导入自动数字的方式:

<script src="<?php echo base_url();?>js/autonumeric-next/src/AutoNumeric.js" type="text/javascript"></script>

基本上这是我想要做的: enter image description here

我希望结果格式更改为货币格式

我仅更改了1个值,这就是我所做的:

<script>
$('document').ready(function(){

$(function sum() {
    console.log($('.calc'))
    var sum = 0.0;
    $('.calc').each(function() {
        sum += parseInt($(this).text());
    });
    $("#subTotal").val(sum);
    let subTotal = new AutoNumeric("#subTotal");
})();

function calculateSubTotal() {
    var subtotal = $("#subTotal").val();
    $("#subTotalDiscount").val(subtotal - (Math.round(($("#inputDiscount").val() / 100) * subtotal)));
    var subtotal_discount = parseInt($("#subTotalDiscount").val());
    $("#subTotalTax").val(Math.round(($("#inputTax").val() / 100) * subtotal_discount));
    var subtotal_tax = parseInt($("#subTotalTax").val());
    var pph = $("#inputpph").val();
    $("#SubTotalpph").val(Math.round(parseInt($("#inputpph").val()*subtotal_discount)));
    var subtotal_pph = parseInt($("#SubTotalpph").val());
    var grandtotal = subtotal_discount + subtotal_tax + subtotal_pph;
    $("#grandTotal").val(grandtotal);
    }
})
</script>

我现在迷路了。

1 个答案:

答案 0 :(得分:0)

还存在另一种实现方法。接下来,查看您会得到什么(一个要求-您只需要提供数字值):

JS

    $('#grandTotal').on('input',function(){

            var number, s_number, f_number;

            number  = $('#grandTotal').val();
            s_number = number.replace(/,/g,'');
            f_number = formatNumber(s_number);

            console.info(f_number);
            $('#grandTotal').val(f_number);
    }); 

function formatNumber(num) {
  return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')
}

但是,如果您只想转换值而不动态更改值,则只需将其添加到附加的*.js中即可:

var number, f_number;
    number  = $('#grandTotal').val(); 
    f_number = formatNumber(number);

    console.info(f_number);
    $('#grandTotal').val(f_number);

function formatNumber(num) {
  return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')
}