Чтобы сохранить файлы cookie в глобальном ассоциативном массиве, вы должны сделать что-то вроде этого:
var my_global_assoc_array = {};
$j('a.createCookie').click(function(e) {
var cookieName = "InsightsCookie";
var cookieValue = $j(this).attr("id");
$j.cookie(cookieName, cookieValue, {expires: 365, path: '/'});
// save just the value of the cookie
my_global_assoc_array[cookieName] = cookieValue;
// or save the whole cookie because you may want to know more about the cookie path, cookie expiration, etc
my_global_assoc_array[cookieName] = $j.cookie(cookieName);
});
Затем, в какой-то более поздний момент, вы можете выполнить итерацию по тому, что собрано в вашем массиве:
for(var i in my_global_assoc_array)
console.log("cookie name = " + i + ", cookie value = " + i);
Я запутался в этой части вашего вопроса: «Сложность в том, что значения cookie создаются динамически».Поскольку значения cookie - это просто значения в my_global_assoc_array, зачем вам заранее знать, что это за значения?
Обновление
Если вы хотите, чтобы один cookie-файл содержал все значения my_global_assoc_array, используйте цикл в процедуре set cookie.Как то так:
var my_global_assoc_array = {};
$j('a.createCookie').click(function(e) {
var cookieName = "InsightsCookie";
var cookieValue = $j(this).attr("id");
// save all values of the cookie in an assoc array to uniqueify the list.
my_global_assoc_array[cookieValue] = 0;
// temporarily turn cookieValue into an Array, add all the cookieValues to it and
// use join to stringify it to a CSV value of the values.
cookieValue = new Array();
for(var i in my_global_assoc_array)
cookieValue.push(i);
cookieValue = cookieValue.join(',');
// store cookieValue which is now a CSV list of cookieValues
$j.cookie(cookieName, cookieValue, {expires: 365, path: '/'});
});