2012-02-10 100 views
0

我是MVC和jQuery的新手。我有一个MvcContrib网格。我有一个选择链接,选择行以带来数据,所以我已经有一个功能,在该点击。我可以将选定的行高亮添加到相同的功能中吗?以下是我的代码的一个片段。使用JQuery突出显示MvcContrib Grid中的选定行

@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);并将你的线和参数添加到我的功能,但这不会突出显示该行。它也停止了高亮代码之后的数据获取操作。有什么建议? – 2012-02-10 23:17:17

+0

我改变了函数获取联系人详细信息到obj.parents('table')中的代码。find('。selected')。removeClass(“selected”); obj.parents('tr')。addClass(“selected”);并且使网格交替变得突出。但是其他行没有被强调。有什么建议么? – 2012-02-11 01:02:24