最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - jQuery Uncaught TypeError: Object[object Object] has no method 'toFixed' - Stack Overflow

programmeradmin1浏览0评论

Hi Guys i encounter Problem on my program which says that i have no method 'toFixed' what is the meaning or what to do to fix this?

Here is MY javascript

<script type="text/javascript">
    $(document).ready(function(){

        $("#datepicker").kendoDateTimePicker({
            format: "yyyy-MM-dd HH:mm:ss"

        });

        $("#supplier_list").kendoComboBox();
        $(".code_select").kendoComboBox();

        //automatic putation in rows
        $('[id^=qty],[id^=price],#tin_number').on('change',function() {

            var index = this.id.match(/\d+/)[0];
            var qty = parseInt($('#qty'+index).val());
            var price = parseFloat($('#price'+index).val());
            var disc = $("#discount").val();
            var total = 0;

            $('#total'+index).val((qty * price ? qty * price : 0).toFixed(2));

            var total = 0;
            $('[id^=total]').each(function(index){
                total+=parseFloat($(this).val()?$(this).val():0);
            });

            var totalAll = $('#sum_of_total').val(total.toFixed(2));


            var vatable = 0;
            var vatable_amt = 0;
            var totalVat = 0;
            var puteDisc = 0;

            if($("#tin_number").val().length != 0){
                vatable = total / 1.12;
                vatable_amt = vatable * 0.12;
                totalVat = vatable + vatable_amt;

            }else{
                totalVat = total;

            }

            $('#vatable').val(vatable.toFixed(2)); 
            $("#vatable_amount").val(vatable_amt.toFixed(2));
            var gtotal = $("#gtotal").val(totalVat.toFixed(2));
            $("#total_amt_due").val(gtotal.toFixed(2));

// Here is the line of error uncaught TypeError : Object[object object] has no method'toFixed'

});

        $("#discount").on('change',function(){
            var totalSales = $("#gtotal").val();
            var discountedAmt = $("#discount").val();
            var puteTotalDisc = totalSales - discountedAmt;
            $("#total_amt_due").val(puteTotalDisc.toFixed(2));
        });

        //AUTO ASSIGN TO SUPPLIER INFO
        $('#supplier_list').bind('change', function(){
            var var_add_category ='<?php echo site_url("purchaseorder_controller/supplier_details"); ?>';
            $.ajax({
                type:'POST',
                url: var_add_category,
                data:{ id: $(this).val() },
                dataType:'json',
                success:function(d){

                    var bankname = d['bankname'];
                    var bankbranch = d['bankbranch'];

                    $("[name=spaddress]").val(d['spaddr']);
                    $("[name=tin]").val(d['sptinno']);
                    $("[name=contactperson]").val(d['pricontactname']);
                    $("[name=contactnumber]").val(d['sptelno']);
                    $("[name=bank]").val(bankname + ' - ' + bankbranch);
                    $("[name=account_name]").val(d['bankacctname']);
                    $("[name=account_no]").val(d['bankacctno']);

                }
            });    
        });

        $("[id^=code]").on('change',function(){

            var index = this.id.match(/\d+/)[0];
            var validate = $('#code'+index).val();

            if(validate != ''){
                $("#qty"+index).removeAttr('readonly');
                $("#price"+index).removeAttr('readonly');
            }

        });

        $("[id^=code]").on('change',function(){

            var index = this.id.match(/\d+/)[0];
            var validate = $('#code'+index).val();

            if(validate == ''){
     $("#qty"+index).prop('readonly', true);
     $("#price"+index).prop('readonly', true);
 }

What to do pls help me guys thank you for the help in advance

Hi Guys i encounter Problem on my program which says that i have no method 'toFixed' what is the meaning or what to do to fix this?

Here is MY javascript

<script type="text/javascript">
    $(document).ready(function(){

        $("#datepicker").kendoDateTimePicker({
            format: "yyyy-MM-dd HH:mm:ss"

        });

        $("#supplier_list").kendoComboBox();
        $(".code_select").kendoComboBox();

        //automatic putation in rows
        $('[id^=qty],[id^=price],#tin_number').on('change',function() {

            var index = this.id.match(/\d+/)[0];
            var qty = parseInt($('#qty'+index).val());
            var price = parseFloat($('#price'+index).val());
            var disc = $("#discount").val();
            var total = 0;

            $('#total'+index).val((qty * price ? qty * price : 0).toFixed(2));

            var total = 0;
            $('[id^=total]').each(function(index){
                total+=parseFloat($(this).val()?$(this).val():0);
            });

            var totalAll = $('#sum_of_total').val(total.toFixed(2));


            var vatable = 0;
            var vatable_amt = 0;
            var totalVat = 0;
            var puteDisc = 0;

            if($("#tin_number").val().length != 0){
                vatable = total / 1.12;
                vatable_amt = vatable * 0.12;
                totalVat = vatable + vatable_amt;

            }else{
                totalVat = total;

            }

            $('#vatable').val(vatable.toFixed(2)); 
            $("#vatable_amount").val(vatable_amt.toFixed(2));
            var gtotal = $("#gtotal").val(totalVat.toFixed(2));
            $("#total_amt_due").val(gtotal.toFixed(2));

// Here is the line of error uncaught TypeError : Object[object object] has no method'toFixed'

});

        $("#discount").on('change',function(){
            var totalSales = $("#gtotal").val();
            var discountedAmt = $("#discount").val();
            var puteTotalDisc = totalSales - discountedAmt;
            $("#total_amt_due").val(puteTotalDisc.toFixed(2));
        });

        //AUTO ASSIGN TO SUPPLIER INFO
        $('#supplier_list').bind('change', function(){
            var var_add_category ='<?php echo site_url("purchaseorder_controller/supplier_details"); ?>';
            $.ajax({
                type:'POST',
                url: var_add_category,
                data:{ id: $(this).val() },
                dataType:'json',
                success:function(d){

                    var bankname = d['bankname'];
                    var bankbranch = d['bankbranch'];

                    $("[name=spaddress]").val(d['spaddr']);
                    $("[name=tin]").val(d['sptinno']);
                    $("[name=contactperson]").val(d['pricontactname']);
                    $("[name=contactnumber]").val(d['sptelno']);
                    $("[name=bank]").val(bankname + ' - ' + bankbranch);
                    $("[name=account_name]").val(d['bankacctname']);
                    $("[name=account_no]").val(d['bankacctno']);

                }
            });    
        });

        $("[id^=code]").on('change',function(){

            var index = this.id.match(/\d+/)[0];
            var validate = $('#code'+index).val();

            if(validate != ''){
                $("#qty"+index).removeAttr('readonly');
                $("#price"+index).removeAttr('readonly');
            }

        });

        $("[id^=code]").on('change',function(){

            var index = this.id.match(/\d+/)[0];
            var validate = $('#code'+index).val();

            if(validate == ''){
     $("#qty"+index).prop('readonly', true);
     $("#price"+index).prop('readonly', true);
 }

What to do pls help me guys thank you for the help in advance

Share Improve this question edited Sep 11, 2013 at 15:35 Newbizone asked Sep 11, 2013 at 15:28 NewbizoneNewbizone 374 silver badges10 bronze badges 4
  • is total really number? – doniyor Commented Sep 11, 2013 at 15:31
  • most likely one of your variables don't contain what you think it does. debug the value of each one as it runs through your code. – Kevin B Commented Sep 11, 2013 at 15:32
  • not sure sir what would you suggest?-doniyor – Newbizone Commented Sep 11, 2013 at 15:32
  • 1 can you provide a www.jsbin. or a www.jsfiddle.? It's much easier to help you. – bitoiu Commented Sep 11, 2013 at 15:33
Add a ment  | 

3 Answers 3

Reset to default 4

gtotal is a jQuery object, not a number ?

var gtotal = $("#gtotal").val(totalVat.toFixed(2)); // returns jQuery object
$("#total_amt_due").val(gtotal.toFixed(2)); // that has no toFixed()

try:

var gtotal = totalVat.toFixed(2);

$("#gtotal, #total_amt_due").val(gtotal);

Try this:

var gtotal = +$("#gtotal").val(totalVat.toFixed(2)).val();

Then gtotal is number.

Also, you can't calculate a number that has already been .toFixed()

so you can do:

 $('#vatable').val(vatable.toFixed(2));   
 $("#vatable_amount").val(vatable_amt.toFixed(2));  
 var gTotal = totalVat;  
 $("#gtotal").val(totalVat.toFixed(2));  
 $("#total_amt_due").val(gtotal.toFixed(2));

but you can't do:

var gTotal = totalVat.toFixed(2);  //pretend this equaled 1000.00
var total_amt_due = gTotal + 1.toFixed(2);// this would give you 1000.001.00 

or

var total_amt_due = total_amt_due.toFixed(2);//this would give you the object no method toFixed error
发布评论

评论列表(0)

  1. 暂无评论