Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/44: Рейтинг темы: голосов - 44, средняя оценка - 4.86
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 171
1

Получить значения строки и столбца таблицы по нажатию

29.09.2016, 11:17. Показов 8092. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть функция, которая рисует таблицу, до загрузки страницы. При нажатии на ячейке не работает обработчик, не могу получить значение столбца и строчки.
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
<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> 
 
</body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2016, 11:17
Ответы с готовыми решениями:

Вывод значения из одного столбца таблицы в 2 столбца другой таблицы
Есть 2 таблицы. Допустим, первая таблица мед. учреждения Med ( id, name, type ) , вторая накладная...

Удаление строки из таблицы по нажатию кнопки
подскажите люди добрые, как можно удалить строчку из бд при нажатии на кнопку?

Получить значения таблицы, где есть одни записи из другой таблицы, но нет других
Добрый вечер. Дело в том, что у меня не получается написать запрос к базе, где есть связка...

По нажатию на кнопку открыть все скрытые строки таблицы
Здравствуйте, подскажите, пожалуйста, как по нажатию на кнопку открыть все строки таблицы, которые...

1
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
29.09.2016, 11:44 2
polin11, дело в том, что $(document).ready сработает раньше, чем body onload, следовательно $('td') - будет пусто. Чтобы назначить обработчик ко всем элементам td, которые уже существуют и для тех, которые будут отрисованы в DOM в будущем, используйте конструкцию: $(document).on('click', 'td', handler);
HTML5
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
<!DOCTYPE html>
<html>
<head>
  <!-- <script src="jquery-1.11.1.min.js"></script> -->
  <script
    src="https://code.jquery.com/jquery-1.12.4.min.js"
    integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
    crossorigin="anonymous">
  </script>
  <script>
    var load = function () {
      console.log('windows onload');
      var loc = "<table border>"
      for(var i = 0; i < 3; i++) {
        loc += '<tr>' // отсутствовал тэг начала строки таблицы
        for(var 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 () {
    console.log('document ready');
    console.log($('td'));
    // $("td").click( function () {
    $(document).on('click', 'td', function () {
      // alert('????')
      var idi = $(this).attr("id");
      var one = parseInt(idi[3]);
      var two = parseInt(idi[4]);
      // alert('one='+one)
      // alert('two'+two)
      console.log('one: ' + one + ',two: ' + two);
    });
  });
  </script>
</head>
<body onload="load()">
  <div id="target">
  </div>
</body>
</html>
Откройте консоль разработчика и убедитесь сами.
0
29.09.2016, 11:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2016, 11:44
Помогаю со студенческими работами здесь

Получить максимальное значение столбца таблицы
Есть база MySQL &quot;pay&quot;, в ней таблица &quot;pay&quot;. Как мне переменной $Х задать значение столбца ID,...

Получить url из другого столбца таблицы
Подскажите как реализовать чтобы url адрес брался из таблицы dle_tags -&gt; url , а не из dle_tags -&gt;...

Суммировать значения 1 столбца таблицы (количество)
У меня есть акцесс (база) и уже более-менее реализвоано в билдере. При желании могу скинуть. Мне...

Как получить tag (описание) столбца таблицы ?
Подскажите как на vb получить tag (описание) столбца таблицы ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru