Javascript jQuery未捕获类型错误:对象[Object Object]没有方法';toFixed';
大家好,我在我的程序中遇到了一个问题,即我没有“固定”的方法,这意味着什么,或者该怎么做才能解决这个问题 这是我的javascriptJavascript 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" });
<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-不客气,但有理由吗你接受了一个似乎与问题无关的答案?