I've been updating some of my older user macros which called jQuery directly AJS.$ as recommended here: https://confluence.atlassian.com/display/CONFKB/How+to+Use+JavaScript+in+Confluence
Some of my code uses the .each function of jQuery.
If I replace "jQuery.each() {...}" with "AJS.$.each() {...}" then a Velocity Parser Exception error is thrown and the macro doesn't work.
If I try "AJS.each() {...}" then there's no sign of an error, but the macro doesn't work.
I've checked this forum and the documentation (https://developer.atlassian.com/display/AUI/AJS+helper+functions) but found no examples of how the .each function can be used from AJS.$.
Anyone come across this before and found a solution?
Thanks,
Charles
check this
another example
Those examples both use AJS.$.each which I've tried, resulting in an error.
I'm running Confluence 4.2.1, so perhaps the AJS library offers support for .each in more recent versions?
I notice other users have been having similar trouble. In this case with the .ajax method - https://answers.atlassian.com/questions/131487/ajax-calls-breaking-confluence
Neither .ajax nor .each work for me. I get a similar error to the one posted in that topic.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
can you share the error message ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The error message recorded in the Confluence log file is as follows:
Caused by: org.apache.velocity.exception.ParseErrorException: Encountered "," at getRenderedContent[line 86, column 30] 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> ... "{" ... "}" ...
The line number & position given relates to this line in the user macro:
Old version - works fine:
86 jQuery.each(rows, function(index, row) {
87 row.sortKey = sortKey(AJS.$(row).children('td').eq(column));
88 });
New version - errors:
86 AJS.$.each(rows, function(index, row) {
87 row.sortKey = sortKey(AJS.$(row).children('td').eq(column));
88 });
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.