Как использовать метод $ .each для массива в jQuery? - PullRequest
1 голос
/ 22 февраля 2011
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> ...
   "{" ...
   "}" ...

Что я делаю не так?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2011

VTL интерпретирует jQuery $ как начало переменной. Затем он жалуется, потому что имя переменной не может начинаться с точки.

У вас есть два варианта:

  1. Побег доллара с обратной косой чертой, например. \$
  2. Используйте jQuery вместо $
1 голос
/ 22 февраля 2011

UPDATE

см. Ответ а'р: 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();
...