Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2009, 11:09
Новичок на форуме
Отправить личное сообщение для otstoy Посмотреть профиль Найти все сообщения от otstoy
 
Регистрация: 09.09.2009
Сообщений: 2

Динамическое формирование таблицы
Всем добрый день. Есть вот такой код:

<html>
<head>
</head>
<body>
<script language="JavaScript" type="text/javascript">
function createelem(tag, id, elem){
var el=document.createElement(tag);
el.id=id;
if(elem) elem.appendChild(el);
return el;
}
function createtn(str, elem){
var tn=document.createTextNode(str);
if(elem) elem.appendChild(tn);
return tn;
}
var i, j, tbl, th, tb, tr, td;
tbl=createelem("table", "", document.body);
th=createelem("thead", "", tbl);
tb=createelem("tbody", "", tbl);
for(i=0; i<5; i++){
  tr=createelem("tr", "", tb);
  for(j=0; j<5; j++){
    td=createelem("td", "", tr);
    td.style.background="green";
    td.onclick=function(){alert(i+""+j);}
    createtn(i+""+j, td);
  }
}
i=8; j=8;
</script>
</body>
</html>


Он динамически строит таблицу. Вопрос вот какой. Как изменить строку:

td.onclick=function(){alert(i+""+j);}


чтобы i и j воспринимались браузером как значения переменных, а не сами переменные. Т.е надо, чтобы при клике по нулевой ячейке нулевой строки формировалось 00, при клике по первой ячейке нулевой строки формировалось 01 и т.д., а не последние значения i и j (в данном случае 88).

Последний раз редактировалось Octane, 09.09.2009 в 11:14. Причина: используйте теги [html] и [js] для оформления кода
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2009, 11:23
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Наверное в этом проблема:
td.onclick=function(){alert(i+""+j);}


Почитайте про замыкания

td.onclick = function(i, j) {
       return function(){alert(i+""+j);};
}(i, j);

Последний раз редактировалось Octane, 09.09.2009 в 11:29.
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2009, 12:09
Новичок на форуме
Отправить личное сообщение для otstoy Посмотреть профиль Найти все сообщения от otstoy
 
Регистрация: 09.09.2009
Сообщений: 2

Большое спасибо! Сам бы в век не допер...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
Перемещение строк таблицы в Firefox barcelona jQuery 17 23.02.2009 15:41
ДИнамическое изминение таблицы Legi Элементы интерфейса 1 08.02.2009 04:10
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35
Динамическое изменение границ между столбцами таблицы srgg Элементы интерфейса 3 10.08.2008 14:40