2011-02-15 6 views
2

나는 동적으로 asp.net 서버 컨트롤 (listview)에 의해 만들어지는 텍스트 상자를 선택하고 싶습니다. 테이블의 각 행에 대해 일부 javascript 기능을 실행해야합니다.jquery 테이블에 텍스트 상자를 얻을

아래 텍스트 이름을 기반으로 텍스트 상자를 선택하려고합니다. 이 작업을 수행하는 "더 나은"방법이 있습니까?

 $('#tblNewAttendees tr').each(function() { 
    var test = $(this).find('input[name$="txtFirstName"]').val(); 
     }); 
    } 

당신이 할 수있는

<table> 
    <thead> 
    </thead> 
    <tbody> 
      <tr> 
       <td> 
        <asp:TextBox ID="txtFirstName" Text='<%#Eval("FirstName")%>'  
       runat="server" Width="80px" /> 
       </td> 
      </tr> 
    </tobdy> 
</table> 
+0

그래서 외에 텍스트 상자를 잡아위한 더 나은 방법이없는 클래스로 불과 선택 스크립트에서 다음

<asp:TextBox ID="txtFirstName" class="myClass" Text='<%#Eval("FirstName")%>' runat="server" /> 

? – gh9

+0

테이블은 listview를 통해 생성됩니다. X txtFirstName 텍스트 상자가 있습니다. 하지만 고유 한 클래스를 추가하는 것이 더 나은 것처럼 보입니다. 그런 다음 ID에 의존합니다. – gh9

답변

3

모든 텍스트 상자에 특정 CSS 클래스를 할당 한 다음 클래스 선택기를 사용하여 선택합니다.

CSS 클래스 값으로 myClass을 할당했다고 가정합니다. 그런 다음을 선택하려면 다음을 사용하십시오 -이 문서를 구문 분석 후

$('#tblNewAttendees tr').each(function() 
{ 
    var test = $(this).find('input.myClass').val(); 
}); 

이유는, 지금까지 내가 기억하는 한, 당신은 텍스트 상자에 지정한 이름이 뭔가 새로운 것을 함께 ASP.NET로 대체된다. 이름이 myBox 인 텍스트 상자가 있다고 가정하십시오. 그런 다음 페이지가 구문 분석 된 후 그 이름이 ct_1001_myBox_123 또는 무언가가 될 수 있습니다. 따라서 CSS 클래스를 사용하여 클라이언트 측에서 선택하는 것이 좋습니다.

3

의 html 코드 (그 안에서 발견 (A .each을 할 필요가 없습니다))를 단순화하기 위해 다음

$('#tblNewAttendees tr input[name$="txtFirstName"]').each(function() { 
    var test = $(this).val(); 
} 

당신은 수도를 마크 업을 변경하여 asp 텍스트 상자에 클래스를 지정하고 .net이 ID 속성의 이름을 바꾸므로 클래스 이름을 기반으로 선택하십시오.

2

텍스트 상자에 고유 한 클래스 이름을 지정하고 클래스 이름을 선택기로 사용할 수 있습니다. 내가하고 또는 고유 클래스를 사용하고 어떤

$('.myClass').each(function() { 
    var test = $(this).val(); 
     }); 
    } 
관련 문제