powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Получить значения строки и столбца таблицы по нажатию
5 сообщений из 5, страница 1 из 1
Получить значения строки и столбца таблицы по нажатию
    #39317646
polin11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть функция, которая рисует таблицу, до загрузки страницы. При нажатии на ячейку не работает обработчик, не могу получить значение столбца и строчки.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<html>
<head>
<script src="jquery-1.11.1.min.js"></script>
<script>
function load()
{
	loc="<table border>"
	for(i=0;i<3;i++)
    {    
     for(j=0;j<3;j++)
	  	loc+="<td id='man"+i+j+"'>&nbsp;</td>"
	 loc+="<tr/>"
  }
  
  loc+="</table>"
  document.getElementById('target').innerHTML = loc;
  
}

$(document).ready(function(){
   $("td").click(function() 
   {
     alert('????')
     idi=$(this).attr("id")
     one=parseInt(idi[3])
     two=parseInt(idi[4])
	 alert('one='+one)
	 alert('two'+two)
    	 
    });
})

</script>
</head>
<body onload="load()">
 <div id="target">
 </div>
</body>
</html>



Если же в лоб нарисовать таблицу в <body></body> все работает не понимаю почему, как исправить.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
 <html>
<head>
<script src="jquery-1.11.1.min.js"></script>
<script>


   $(document).ready(function(){
   $("td").click(function() 
   {
     idi=$(this).attr("id")
     one=parseInt(idi[3])
     two=parseInt(idi[4])
     alert('one='+one)
	 alert('two'+two)
	 
    });
})

  
</script>

</head>
<body>

<table border width="30%" height="30%" >
<td  width="10%" height="10%" id="man00">&nbsp;</td>
<td  width="10%" height="10%" id="man01">&nbsp;</td>
<td  width="10%" height="10%" id="man02">&nbsp;</td>
<tr/>
<td  width="10%" height="10%" id="man10">&nbsp;</td>
<td  width="10%" height="10%" id="man11">&nbsp;</td>
<td  width="10%" height="10%" id="man12">&nbsp;</td>
<tr/>
<td  width="10%" height="10%" id="man20">&nbsp;</td>
<td  width="10%" height="10%" id="man21">&nbsp;</td>
<td  width="10%" height="10%" id="man22">&nbsp;</td>
</table> 

<div id="itog1"></div>
<br/>
<div id="itog2"></div>
<bt/>
<div id="info"></div>

</body>
</html>
...
Рейтинг: 0 / 0
Получить значения строки и столбца таблицы по нажатию
    #39317685
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11 , на момент "навешивания" обработчика просто не существует элемента-предмета "навешивания" (td).
...
Рейтинг: 0 / 0
Получить значения строки и столбца таблицы по нажатию
    #39317689
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11,
поставьте вызов функции инициации таблицы туда же, в ready
...
Рейтинг: 0 / 0
Получить значения строки и столбца таблицы по нажатию
    #39317727
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11При нажатии на ячейку не работает обработчик, не могу получить значение столбца и строчки.

Вешай обработчики не на элементы, а на контейнер . И тогда будет пофигу, когда нарисовано содержимое контейнера. Даже если содержимое контейнера много раз поменяется после загрузки страницы:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<html>
<head>
<script src="jquery-1.11.1.min.js"></script>
<script>
function load()
{
	loc="<table border>"
	for(i=0;i<3;i++)
    {    
     for(j=0;j<3;j++)
	  	loc+="<td id='man"+i+j+"'>&nbsp;</td>"
	 loc+="<tr/>"
  }
  
  loc+="</table>"
  document.getElementById('target').innerHTML = loc;
  
}

$(document).ready(function(){
   $("#target").on("click", "td", function() 
   {
     alert('????')
     idi=$(this).attr("id")
     one=parseInt(idi[3])
     two=parseInt(idi[4])
	 alert('one='+one)
	 alert('two'+two)
    	 
    });
})

</script>
</head>
<body onload="load()">
 <div id="target">
 </div>
</body>
</html>
...
Рейтинг: 0 / 0
Получить значения строки и столбца таблицы по нажатию
    #39317730
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11,

Да, и смени версию jQuery: jquery-1.11.1.min.js

На хотя бы jQuery 2.2.4:

https://code.jquery.com/jquery-2.2.4.min.js
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Получить значения строки и столбца таблицы по нажатию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]