Javascript jQuery未捕获类型错误:对象[Object Object]没有方法';toFixed';

Javascript jQuery未捕获类型错误:对象[Object Object]没有方法';toFixed';,javascript,jquery,codeigniter,Javascript,Jquery,Codeigniter,大家好,我在我的程序中遇到了一个问题,即我没有“固定”的方法,这意味着什么,或者该怎么做才能解决这个问题 这是我的javascript <script type="text/javascript"> $(document).ready(function(){ $("#datepicker").kendoDateTimePicker({ format: "yyyy-MM-dd HH:mm:ss" });

大家好,我在我的程序中遇到了一个问题,即我没有“固定”的方法,这意味着什么,或者该怎么做才能解决这个问题

这是我的javascript

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

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

        });

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

        //automatic computation 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 computeDisc = 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));

$(文档).ready(函数(){
$(“#日期选择器”).kendoDateTimePicker({
格式:“yyyy-MM-dd HH:MM:ss”
});
$(“#供应商名单”).kendoComboBox();
$(“.code_select”).kendoComboBox();
//行自动计算
$('[id^=qty]、[id^=price]、#tin_number')。在('change',function()上{
var index=this.id.match(/\d+/)[0];
var qty=parseInt($('#qty'+index.val());
var price=parseFloat($('#price'+index.val());
var disc=$(“#折扣”).val();
var合计=0;
$(“#总计”+指数).val((数量*价格?数量*价格:0).toFixed(2));
var合计=0;
$('[id^=total]')。每个(函数(索引){
total+=parseFloat($(this.val()?$(this.val()):0);
});
var totalAll=$(“#总量之和”).val(total.toFixed(2));
var vatable=0;
可变金额=0;
var totalVat=0;
var computeDisc=0;
if($(“#锡编号”).val().length!=0){
vatable=总计/1.12;
可增值税金额=可增值税*0.12;
增值税总额=应纳税额+应纳税额;
}否则{
总增值税=总增值税;
}
$('#vatable').val(vatable.toFixed(2));
美元(“应纳税额”).val(固定的应纳税额(2));
增值税总额=$(“#gtotal”).val(固定增值税总额(2));
$(“到期总金额”).val(固定总金额(2));
//下面是错误行UncaughtTypeError:Object[Object Object]没有“toFixed”方法

}))

$(“#折扣”).on('change',function(){
var totalSales=$(“#gtotal”).val();
var贴现率=$(“#贴现”).val();
var computeTotalDisc=总销售额-折扣;
美元(“#到期总金额”).val(计算总金额(2));
});
//自动分配给供应商信息
$(“#供应商列表”).bind('change',function(){
var var_add_category='';
$.ajax({
类型:'POST',
url:var\u添加\u类别,
数据:{id:$(this).val()},
数据类型:'json',
成功:功能(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+'-'+银行分行);
$(“[name=account_name]”).val(d['bankacctname']);
$(“[name=account_no]”)val(d['bankacctno']);
}
});    
});
$(“[id^=code]”。在('change',function()上{
var index=this.id.match(/\d+/)[0];
var validate=$(“#代码”+索引).val();
如果(验证!=''){
$(“#数量”+索引).removeAttr('readonly');
$(“#price”+index).removeAttr('readonly');
}
});
$(“[id^=code]”。在('change',function()上{
var index=this.id.match(/\d+/)[0];
var validate=$(“#代码”+索引).val();
如果(验证=“”){
$(“#数量”+索引).prop('readonly',true);
$(“#价格”+指数).prop('readonly',true);
}
要做什么请帮我伙计们提前感谢你们的帮助

试试这个:

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

那么gtotal就是数字。

gtotal
是jQuery对象,不是数字

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


此外,您无法计算已经被.toFixed()固定的数字

所以你可以做:

 $('#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));
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 
但是你做不到:

 $('#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));
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 

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

total
真的是数字吗?很可能你的一个变量不包含你认为它的功能。在代码中运行时调试每个变量的值。不确定先生,你有什么建议吗?-Doniyor你能提供一个www.jsbin.com或www.jsfiddle.com吗?这更容易帮助你。@user2750367-不客气,但有理由吗你接受了一个似乎与问题无关的答案?