单击更改行颜色-ASP.NET和JavaScript

单击更改行颜色-ASP.NET和JavaScript,javascript,html,asp.net,gridview,background-color,Javascript,Html,Asp.net,Gridview,Background Color,使用e.Row.Attributes.Addonclick,this.style.backgroundColor='yellow';我可以在ASP.NET网格视图中用鼠标单击突出显示所选内容 但是,这是可行的,单击的每一行都会更改其背景颜色,如果单击另一行,则先前单击的行将保持高亮显示 有没有办法解决这个问题,即重置所有其他行并仅突出显示当前选定的行?假设它看起来像 然后 您的javascript代码如下所示 $('.colorchange').click(function() {

使用e.Row.Attributes.Addonclick,this.style.backgroundColor='yellow';我可以在ASP.NET网格视图中用鼠标单击突出显示所选内容

但是,这是可行的,单击的每一行都会更改其背景颜色,如果单击另一行,则先前单击的行将保持高亮显示


有没有办法解决这个问题,即重置所有其他行并仅突出显示当前选定的行?

假设它看起来像

然后

您的javascript代码如下所示

 $('.colorchange').click(function()
    {
    $('.colorchange').backgroundColor="";
    $(this).backgroundColor="your color name";

    });

如果您将AutoGenerateSelectButton属性设置为true,则可能是这样。

添加已单击的类并在单击事件时切换它: 没有JQuery: 服务器端:

e.Row.Attributes.Add("onclick", "Click(this)");
e.Row.Attributes.Add("class", "clickable");
客户端:

Click = function(el) {
    var clicked = document.querySelectorAll(".clicked");
    for (var i = 0, length = clicked.length; i < length; i++) {
        removeClass(clicked[i], "clicked");
    }

    el.className = el.className + "clicked";
}
$(".clickable").click(function() {
    $(".clicked").removeClass("clicked");
    $(this).addClass("clicked");
});
客户端:

Click = function(el) {
    var clicked = document.querySelectorAll(".clicked");
    for (var i = 0, length = clicked.length; i < length; i++) {
        removeClass(clicked[i], "clicked");
    }

    el.className = el.className + "clicked";
}
$(".clickable").click(function() {
    $(".clicked").removeClass("clicked");
    $(this).addClass("clicked");
});