Событие при нажатии на <td> создается динамически

0

У меня есть следующая таблица, которая создается динамически с использованием функции onload в начале.

<div id="first">
<table class="joma" id="joma">
<tbody>
<tr>
   <th>Id</th>
   <th>V No</th>
   <th>Biboron</th>
   <th>Taka</th>
</tr>
<tr><td class="rid">1</td><td>sss</td><td>222</td><td class="cv">4</td></tr>
<tr><td class="rid">2</td><td>xxx</td><td>2333</td><td class="cv">4</td></tr>
</tbody>
</table>
</div>

Теперь мне нужно будет нажать <td class="rid"> который должен дать соответствующее значение. в этом случае 1 или 2.

Как мне это сделать?

Я использовал следующие методы

$(document).ready(function() {
    $('.rid').click(function() {
        alert(this);
    });
});



$('.rid').click(function() {
    alert(this);
});

Я ничего не получаю от этого.

Теги:
table

3 ответа

5
Лучший ответ

Использовать .on()

$(document).on('click','.rid',function() {
     alert("this");
});

при загрузке страницы DOM создается .rid не является частью страницы.

Таким образом, вы не можете получить к ним доступ напрямую, вам нужно использовать event delegation

  • 0
    Это работает спасибо, я приму ответ через 4 мин
  • 0
    @Lyn, как добро пожаловать, рады помочь :)
Показать ещё 1 комментарий
3

Использование делегирования событий:

$(document).on('click', '.rid', function() {
    alert("this");
});

.rid не существует при загрузке страницы, поэтому привяжите его к существующему элементу (обычно к контейнеру, где вы добавляете содержимое, но так как я его не видел, document - безопасная ставка).

  • 0
    Почему бы вам не использовать <tbody> в качестве контейнера?
  • 1
    @ user2736012 - OP сказал, что таблица была загружена динамически, поэтому tbody будет загружен динамически.
Показать ещё 2 комментария
1
$(document).ready(function() {
    $('.rid').click(function() {
        alert($(this).html());
    });
});

скрипка: http://jsfiddle.net/yraQS/

  • 1
    Это тот же код из вопроса, за исключением того, что вы изменили предупреждение.
  • 0
    почему так работает?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню