2012-02-10 6 views
0

MVC 및 jQuery를 처음 사용합니다. MvcContrib Grid가 있습니다. 데이터를 가져올 행을 선택하는 선택 링크가있어 해당 클릭에 대한 기능이 이미 있습니다. 선택한 행 강조 표시를 동일한 기능에 추가 할 수 있습니까? 여기 내 코드가 어떻게 보이는지에 대한 스 니펫이 있습니다.강조 표시 MvcContrib Grid에서 JQuery를 사용하여 선택된 행

@Html.Grid(Model).Columns(column => 
{ 
    column.Custom(@<a href='#@item.ID' onclick='getContactDetails(@item.ID); 
    return false;'>Select</a>); 
    column.For(x => Html.ActionLink("Edit", "Edit", "Contact", new { id = x.ID, 
    socialcommunityid = x.SocialCommunityID },new { @class = "openDialog", data_dialog_id 
    = "editContactDialog", data_dialog_title = "Contact Details" }) 
).Named("").Sortable(false); 
}) 


//This is the function that is already present 
function getContactDetails(communityContactID) 
{ 
    //Some code to fetch data 
} 

내가 선택한 행을 강조 표시하도록 도와 줄 수 있습니까?

답변

0

필수 스타일이 포함 된 새 CSS 클래스를 만들 수 있습니다. 클릭 처리기 내부의 currnet 행에이 클래스를 추가하십시오. 다른 매개 변수 thisgetContactDetails으로 전달하면 해당 행을 얻을 수 있습니다. 이 시도. CSS는

.selected{ 
    background: "someColor"; 
} 

JS

function getContactDetails(communityContactID, obj) 
{ 
    //This will remove selected class from previous selection 
    $(this).closest('table').find('tr').removeClass('selected'); 

    //This will add the selected class to current row 
    $(this).closest('tr').addClass('selected'); 

    //Some code to fetch data 
} 
+0

나는 다음과 같은 매개 변수를 전달하여 방법을 시도 : column.Custom을 (Select @); 내 함수에 선과 매개 변수를 추가했지만 행을 강조 표시하지 않습니다. 또한 그것은 강조 표시를위한 코드 뒤에있는 데이터 가져 오기 작업을 중지했습니다. 어떤 충고? –

+0

함수에서 코드를 변경했습니다. 연락처 세부 정보를 obj.parents ('table')에 가져옵니다. find ('. selected'). removeClass ("selected"); obj.parents ('tr'). addClass ("selected"); 그리드 대체가 강조 표시되도록하십시오. 그러나 다른 행은 강조 표시되어 있지 않습니다. 어떤 제안? –

관련 문제