1
function calcTotalScore(){
    var arr = ["A","B","C","D","E","F"];
    $.each(arr, function(n,val){
        calcTotal(val);
    });
}

calcTotal(value){
// sample code
}

calcTotalScore()在速度模板语言(VTL)中使用上述函数,但它说:

Encountered "," Was expecting one of:
   <EOF> 
    "(" ...
   <RPAREN> ...
   <ESCAPE_DIRECTIVE> ...
   <SET_DIRECTIVE> ...
   "##" ...
   "\\\\" ...
   "\\" ...
   <TEXT> ...
   "*#" ...
   "*#" ...
   <STRING_LITERAL> ...
   <IF_DIRECTIVE> ...
   <STOP_DIRECTIVE> ...
   <INTEGER_LITERAL> ...
   <FLOATING_POINT_LITERAL> ...
   <WORD> ...
   <BRACKETED_WORD> ...
   <IDENTIFIER> ...
   <DOT> ...
   "{" ...
   "}" ...

我究竟做错了什么?

4

2 回答 2

4

VTL 将 jQuery 解释$为变量的开始。然后它会抱怨,因为变量名不能以点开头。

你有两个选择:

  1. 用反斜杠转义美元,例如。\$
  2. 使用jQuery代替$
于 2011-02-22T13:48:17.313 回答
1

更新

查看 a'r 的答案:D


您只是在 calcTotal 前面缺少一个“函数”;)

http://fiddle.jshell.net/gabel/7SvUY/1/

function calcTotalScore(){
    var arr = Array("A","B","C","D","E","F");
    $.each(arr, function(n,val){
        calcTotal(val);
    });
}

function calcTotal(value){
// sample code
    alert(value);
}

calcTotalScore();
于 2011-02-22T13:42:44.067 回答