значение td с использованием jquery, но из таблицы внутри таблицы - PullRequest
2 голосов
/ 03 января 2012

Я хочу получить значение td элемента внутри td в таблице с классом t2, как я могу этого достичь ??я пробовал это, но не помогло

var test = $(.lv1 tr:nth-child(" + row2 + ")").children("td:last").children(".lv2 tr:last").children("td:last").html();

таблица

<listview1>
<itemtemplate>
    <table class="t1">
    <tr class="lv1"><td></td><td></td></tr>
    <tr class="lv1"><td colspan="2">
<listview2>
<itemtemplate>
    <table class="t2">
    <tr class="lv2">
    <td></td>
    </tr>
    <tr class="lv2">
    <td></td>
    </tr>
    </table>
</itemtemplate>
</listview2>
    </td></tr>
    </table>
</itemtemplate>
</listview1>

Ответы [ 3 ]

2 голосов
/ 04 января 2012

Хорошо, исходя из ваших отзывов, я думаю, что вы ищете.Нажмите на кнопку, чтобы увидеть его в действии.

http://jsfiddle.net/mSHKC/

$('#go').click( function() {
    var id = 'foo'; //hardcode id retrieval on button press
    //value of first td of first row in table.t2
    var firstTdFirstRow = $(this).closest('table.t1').find('table.t2 tr:first td:first').html();
    //value of first td of last row in table.t2
    var firstTdLastRow =  $(this).closest('table.t1').find('table.t2 tr:last td:first').html();
});

У вас был этот комментарий, но я не уверен, что это значит, потому что я думаю, что вы произвели написаниеошибка.

 its selecting right td which i want to but while appenind its getting error
1 голос
/ 03 января 2012

Почему бы не использовать что-то более простое, например:

$("tr.lv2:eq(0) td").text();

Чтобы получить первую такую ​​клетку

$("tr.lv2:eq(1) td").text();

Для второго и так далее

Или, если у вас есть индекс в качестве переменной, вы можете использовать функцию eq :

$("tr.lv2").eq(index).find("td").text();
0 голосов
/ 04 января 2012

Спасибо, mrtsherman Я разделил две функции td click и на текстовое поле submit и сохранил глобальную переменную.Теперь работает нормально

var row2;
var test;

$("td").live('click', function () {
    var row = $(this).parent().parent().children().index($(this).parent());
    row2 = row + 1;
    test = $(this).closest("#Table1 tr:nth-child(" + row2 + ") ")
                     .find('table.gh tr:first td:first').html();
    // alert(test);
    var test2 = $(this).closest("#Table1 tr:nth-child(" + row2 + ") ")
                     .find('table.gh tr:last');
                });
    $(".commenttext").keyup(function (event) {
        if (event.which == 13) {
           var test2 = $("#ListView1_Table2 tr:nth-child(" + row2 + ") ")
                         .find('table.gh tr:last');
           test2.after('id:'+ test);
           $(".commenttext").val("");
           $(".commenttext").blur();
           $(".commenttext").height('20px');
        }
    });
...