2012-05-04 3 views
6

MVC 3의 내 면도기 뷰에서 webgrid를 사용하고 있습니다. 다음은 webGrid의 모양입니다. 전체 행을 클릭 할 수있게 만들고 클릭하면 javascript 메서드로 값을 전달합니다.MVC 3 Webgrid는 전체 행을 클릭 할 수있게합니다.

모든 열의 텍스트에 자바 스크립트 메서드를 호출 할 수 있습니다. 전체 행의 아무 곳이나 클릭해도 동일한 결과가 발생합니다.

나를 안내하십시오. 감사합니다

  @grid.GetHtml(

      columns: grid.Columns(

      grid.Column("CompanyName", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "ABC"), 

      grid.Column("CompanyAddress", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "DEF"), 

      ))  

     } 
+0

LoL! 이에 대해 TumbleWeed가 수여되었습니다. 1 주일 동안 투표 없음, 답변 없음, 의견 없음 및 낮은 조회로 질문했습니다. 희망은 이제 답변이 쏟아지기 시작합니다! : P – Yasser

답변

3

당신은 행 클릭 기능을

추가 htmlAttributes을 추가 JQuery와 사용할 수있다 : 당신의 webgrid의 새로운 {ID = "MainTable"}.

<script type="text/javascript"> 
    $(function() { 
     var tr = $('#MainTable').find('tr'); 
     tr.bind('click', function (event) { 
      var values = ''; 
      var tds = $(this).find('td'); 


      $.each(tds, function (index, item) { 
       values = values + 'td' + (index + 1) + ':' + item.innerHTML + '<br/>'; 
      }); 
      alert(values); 


     }); 
    }); 


</script> 
+0

그리고 '@ item.Col1', '@ item.Col2', '@ item.Col'값을 자바 스크립트 함수에 전달하는 방법은 무엇입니까? – Yasser

+0

이미 매개 변수를 전달하고 있습니다. 위 코드는 행을 강조 표시합니다. 코드가 수행 할 나머지 작업 –

2

내가 좋아하는 특정 열 클래스 style: "click_able"을 추가 내 프로젝트에 이런 짓을했는지.

grid.Column("CompanyName", style: "click_able", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "ABC"), 

다음과 같은 클릭 기능을 추가하십시오.

<script type="text/javascript"> 
$(".click_able").click(function() { 
    // Do something 
}); 

그것은 내 경우에는 잘 작동.

관련 문제