2013-04-12 5 views
0

На всю жизнь я не могу понять, как получить данные td, используя $(this). Вот моя попыткаКак получить значение td из ввода: проверено с помощью jquery?

<tbody id="testTable"> 
    <tr><td class="tdData"><input type="checkbox"></input></td></tr> 
</tbody> 

$("#testTable tr td > input:checked").each(function() 
{ 
    alert($(this).parent().text()); // alert shows empty 
    alert($(this).find(".tdData").text()); // alert shows empty 
    alert(this.nodeName); // alert shows INPUT 
    alert($(".tdData").text()); // alert shows data 
}); 

Использование $(this) не похоже на работу.

+0

Что такое 'tdData'? – karthikr

+2

где установлен флажок –

+2

В вашем примере нет '' s. Можете ли вы разместить * реальный пример? –

ответ

0

$(this) в each() петле относится к элементу, размещенному в первоначальном заявлении, которое $("#testTable tr td > input:checked") т.е. флажка.

Так что, если вы хотите, чтобы получить значение TD каждой ячейки просто используйте

$("#testTable tr td").each(... 

затем $(this) ссылается на ячейку таблицы. Получение текстового значения ввода или пустой td ничего не вернет, как вы видели.

1
$("#testTable tr td > input:checked").each(function() 
{ 
    alert($(this).val()); 
}); 
+0

оповещение оповещения пустым с использованием этого метода ... В чем может быть проблема? Нет информации от Firebug –

+0

Пожалуйста, разместите полную метку 'testTable' html в своем вопросе. Это поможет! –

+0

Конечно, он пуст, если у вас нет входов в вашей разметке. – jtheman

Смежные вопросы