У меня каверзная проблема.Я создаю используя DOM таблицу.После создания этой сетки я заполняю каждую ячейку красным или зеленым цветом, основываясь на определенных «правилах», которые я получаю из базы данных.В моем коде я зацикливаю всю сетку один раз для каждого «правила», поэтому иногда ячейка может быть окрашена более одного раза (но это не проблема).В этом же цикле я даю каждой зеленой ячейке функцию onclick, передавая идентификатор правила с помощью замыканий (этот идентификатор, очевидно, уникален для каждого полного цикла сетки, который, как я уже говорил, повторяется для каждого правила).Моя проблема в том, что я хочу отслеживать все идентификаторы правила, которые окрашивают ячейку в зеленый цвет.В данный момент я могу отслеживать только последний идентификатор правила, которое окрасило мою ячейку.Это код:
//here is the cycle and other operations to create the cell element and colouring it green
//this is the function that binds the rule id to the onclick event,
passing it to a separate function
pickedCell.onclick=(function(){
var current_id_policy=id_policy
return function(){policyToString(current_id_policy);
}
})();
//this is the function called
function policyToString(id_policy){
alert("Rule n."+id_policy);
}
Как я уже сказал, моя цель - отслеживать функцию policyToString КАЖДОГО правила id, которая окрашивает ячейку в зеленый цвет.Я искал в Интернете, но, вероятно, я не настолько хорош в этом (возможно!) Продвинутом кодировании.Есть какие-нибудь подсказки?