2011-12-29 117 views
1

我有这个代码,运作良好;JQuery:Uncaught语法错误:意外的令牌非法

  $(".campodigitavel").change(function(){ 
       $(".campocalculado").each(function(){ 
        if ($(this).attr("ordem") == 1){ // O valor do primeiro item do grupo será o campo base para o cálculo. 
         lnTotal = $(this).val(); 
        } 
        // Percorre todos os filhos cujo pai é o atual da iteração 
        $("[pai=" + $(this).attr("id") + "]").each(function(){ 
         if(this.value != ""){ 
          lnTotal = eval(lnTotal + "" + $(this).attr("operador") + "" + parseFloat(this.value)); 
         } 
        }); 
        $("#" + $(this).attr("target")).val(lnTotal); 
       }); 
      }); 

但是,当我改变代码添加一个函数调用是这样的:

$(".campodigitavel").change(function(){ 
       $(".campocalculado").each(function(){ 
        if ($(this).attr("ordem") == 1){ // O valor do primeiro item do grupo será o campo base para o cálculo. 
         lnTotal = $(this).val(); 
        } 
        // Percorre todos os filhos cujo pai é o atual da iteração 
        $("[pai=" + $(this).attr("id") + "]").each(function(){ 
         if(this.value != ""){ 
          lnTotal = eval(lnTotal + "" + $(this).attr("operador") + "" + parseFloat(this.value)); 
         } 
        }); 
        $("#" + $(this).attr("target")).val(lnTotal); 
       }); 
       calcularPercentual(); 
      }); 

的功能代码:

function calcularPercentual(){ 
      var lnValorReferencia, lnValorPai 

      lnValorReferencia = $("[percentual=true]").val(); 

      $('.perccalculado').each(function(){ 
       lnValorPai = $("#" + $(this).attr("pai")).val(); 
       if(lnValorPai != ""){ 
        $(this).val(lnValorPai * 100/lnValorReferencia); 
       } 
      }); 
     } 

当jQuery代码在第二次执行,出现错误:未捕获的SyntaxError:意外的标记为ILLEGAL。

为什么?

感谢, 卢西亚诺

+0

你可以显示匹配'.perccalculado'选择器的对象的HTML(那些'perccalculado'作为类)? – 2011-12-29 20:17:27

+0

共有11个字段。 – 2011-12-30 13:24:24

+0

整个代码是在这里https://gist.github.com/1539856 – 2011-12-30 13:30:23

回答

0

也许尝试把一个分号的行之后:

var lnValorReferencia, lnValorPai 

我对这个有点怀疑,因为JS做了很多隐含分号插入的,但值得一尝试

2

加(;)后var lnValorReferencia, lnValorPai;

1

您忘记分号(;)初始化后,VA r lnValorReferencia,InValorPai