2011-09-15 4 views
1

나는 열에 "그리드"를 구축하는 데 사용하는 n 개의 열 (저장된 프로 시저의 논리가 반환 할 열을 결정 함)로 결과 집합을 반환하는 저장 프로 시저를 가지고 있습니다.버튼 이름을 모르는 경우 어떻게 여러 버튼이 동일한 기능을 호출하게합니까?

   <table> 
       <thead> 
        <% foreach (System.Data.DataColumn column in ((System.Data.DataTable)Model).Columns) 
         { %> 
        <th> 
         <%: column.Caption %> 
         <input id="Image1" type="image" src="../Content/theme/images/arrowhead-down.jpg" width="9px" height="5px"/></th> 
        </th> 
        <%}%> 
       </thead> 
       <tbody> 
        <% 
      foreach (System.Data.DataRow row in ((System.Data.DataTable)Model).Rows) 
      {%> 
        <tr> 
         <% foreach (var column in row.ItemArray) 
          { %> 
         <td> 
          <%: column.ToString() %> 
         </td> 
         <%}%> 
        </tr> 
        <% 
      } 
        %> 
       </tbody> 
      </table> 

형식 이미지 (버튼)의 입력은 각각의 새로운 열 요소에 포함됩니다 이렇게하려면 내가 동적으로 DataColumns을 구축하는 런타임에 통해 열거 DataTable을 사용합니다. 나는 (버튼의 이름에 관계없이 같은 함수를 호출 새로 생성 된 각각의 버튼을 가지고 할 수있는 방법,

$(document).ready(function() { 
      $('#Image1').click(function() { 
       $('td:nth-child(3),th:nth-child(3)').hide(); 
      }); 
     }); 

그래서 제 질문은 이것이다 : 본질적으로 그 버튼은 약간의 스크립트를 사용하여 숨길 수 열의 수 얼마나 많은 버튼이 만들어 지는지 또는 그들의 이름을 알 수 없기 때문에)?

답변

2

모두 동일한 CSS 클래스 이름을 지정하십시오. .NET을 사용할 때 자바 스크립트를 ID에 연결하지 마세요.

은 그럼 당신은 사용할 수 있습니다

$('.buttonClassOfYourChoice').click(function() { 
     ....common click code... 
}) 

"이"클릭 된 버튼을 참조합니다 :

$('.buttonClassOfYourChoice').click(function() { 
    alert($(this).html()) 
}) 
+0

이 완벽했다! 너와 같은 사람들이야. 내가 왜이 사이트로 돌아갈 지, 고마워! – northpole

관련 문제