【问题标题】:Highlight Selected row in MvcContrib Grid using JQuery使用 JQuery 突出显示 MvcContrib 网格中的选定行
【发布时间】:2012-02-10 20:40:22
【问题描述】:

我是 MVC 和 jQuery 的新手。我有一个 MvcContrib 网格。我有一个选择链接,可以选择要带入数据的行,所以我已经有了该点击的功能。我可以将选定的行突出显示添加到同一功能吗?这是我的代码的外观。

@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
}

有人可以帮我突出显示选定的行吗?

【问题讨论】:

    标签: jquery asp.net-mvc mvccontrib mvccontrib-grid


    【解决方案1】:

    您可以创建一个包含所需样式的新 css 类。将此类添加到单击处理程序内的当前行。将另一个参数this 传递给getContactDetails,这将帮助我们获取相应的行。试试这个。

    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
    }
    

    【讨论】:

    • 我通过传递以下参数尝试了您的方法: column.Custom(@选择);并将您的行和参数添加到我的函数中,但这并没有突出显示该行。它还停止了高亮代码之后的数据获取操作。有什么建议吗?
    • 我把函数Get Contact details中的代码改成了obj.parents('table').find('.selected').removeClass("selected"); obj.parents('tr').addClass("selected");并让 gridrow 交替突出显示。但其他行未突出显示。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 2010-11-11
    • 2021-08-21
    • 1970-01-01
    相关资源
    最近更新 更多