2011-12-29 32 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