2012-01-03 2 views
2

t2 클래스의 테이블에서 td 값을 가져오고 싶습니다. 어떻게 할 수 있습니까? 내가 좋아하는 더 간단한 무언가를 사용하지 왜td의 값은 jquery를 사용하지만 테이블 내부의 테이블

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

1900 년에는 레이아웃을 다시 적용하기위한 테이블이 필요합니다. 진지하게 : 레이아웃 목적으로 테이블을 사용하는 것처럼 보이는데, 이는 나쁘다. 'div'를 더 잘 사용하십시오. – PeeHaa

+0

더 심각한 메모에. 구문 오류가 있습니다. '$ (.lv1 tr : nth-child ("+ row2 +") ")'시작 부분에 여분의 따옴표가 있음을 주목하라. – PeeHaa

+0

나는 $ ('table.t1 tr.lv1 td table.t2 tr.lv2 td') .html()'또는'$ ('.t1 .lv1 td.t2 tr.lv2 td')를 시도 할 것이다. html();'셀렉터가 너무 많아서 데이터를 가져오고 자하는 필드에 클래스를 할당하는 것이 더 쉬울 수도 있습니다. –

답변

2

좋아, 당신의 의견에 따라이 당신이 후에 생각하는 것입니다 : 당신이 변수로 인덱스가있는 경우 등

에 두 번째 또는, EQ 기능을 사용할 수 있습니다 . 작동 중인지 보려면 이동 버튼을 클릭하십시오.

$('#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(); 
}); 

http://jsfiddle.net/mSHKC/

는이 댓글을했다,하지만 난 당신이 맞춤법 실수를 생각하기 때문에 무슨 뜻인지 모르겠어요.

its selecting right td which i want to but while appenind its getting error 
+0

괜찮아요하지만 내 테이블은 diif tr 행과 diff 테이블을 많이 가지고 있으므로 tr - 번호를 지정해야 테이블 - t1 –

+0

그래서 나를 위해 가치를 제공합니다 모두이 코드를 사용하는 것보다 우선적으로 사용합니다. nysugesion var test = $ (this) .closest ("# ListView1_Table2 tr : nth-child ("+ row2 + ")") .find ('table.gh tr : first td : first') .html(); –

1

도움 didnt는하지만이 시도 :

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

이 최초의 셀을 얻으려면

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

들어

$("tr.lv2").eq(index).find("td").text(); 
+0

실제로이 테이블은 중첩 된리스트 뷰이므로 테이블의 직접 내부 클래스를 사용할 수 없으므로 현재 tr을 선택한 다음 클래스에서 tr을 선택해야한다. 그 테이블의 –

+0

@ AradhanaLohan - 당신의 질문은 당신이 원하는 것에 대해 명확하지 않습니다. 당신의 코드는 har입니다 d가 잘못되어 따라야합니다. 평범한 영어로 당신이 원하는 것을 언제 설명 할 수 있습니까? – mrtsherman

+0

@mrtsherman 안녕하세요, uc 님, 이제는 코드를 listview에 추가 할 수 있습니다. 부모님은 lsitview에 글을 게시하고 listview에 댓글을 남깁니다. –

0

덕분에 나는 두 가지 기능이 click을 TD와 텍스트 상자 submit에 글로벌 변수를 유지 나누어 을 mrtsherman. 이제는 잘 작동합니다.

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'); 
     } 
    }); 
관련 문제