javascript - 如何突出显示中继器中选定的行?

标签 javascript jquery asp.net repeater

我有一个中继器,我只希望当我选择或单击它的任何行时,它就会突出显示。我尝试了一些 javascript 代码,它使所选行突出显示,但在选择任何其他行时不会取消突出显示。我的代码是:-

<tr id="gh" style="cursor: pointer" onclick="Select(this);">

任何 javascript 和样式的代码是:-

<style type="text/css">
    .highlight
    {
        background-color: Red;
    }
    .selected
    {
        background-color: #ffdc87;
    }
</style>

<script type="text/javascript">
    function Select(obj) {
        obj.className = 'selected';
        var tbl = document.getElementById("Repaddressorbbl")
        var firstRow = tbl.getElementsByTagName("TR")[0];
        var tableRowId = tbl.rows[firstRow.getElementById("gh").parentNode.id];
        alert(tableRowId);
        var oldRow = tbl.rows[firstRow.getElementsByTagName("tr")[0].value];
        if (oldRow != null) {
            oldRow.className = '';
        }
        firstRow.getElementsByTagName("tr")[0].value = obj.rowIndex;

    }

</script>

我们可以简单地使用后台代码来完成此操作,但问题是它只能使用 jquery 或 javascript 来完成。

最佳答案

您可以使用与此类似的代码:

var INDEX = $(this).parent().children().index($(this));
$('#Repaddressorbbl tr:nth-child(' + INDEX + ')').addClass("highlight") 
                        .siblings()
                        .removeClass("highlight");  // remove css class from other rows

它获取 TR 的行号并添加 CSS 类,同时从所有其他 TR 中删除相同的类。

关于javascript - 如何突出显示中继器中选定的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8092871/

相关文章:

javascript - 使用 jquery 将值从表传递到函数

javascript - 如何在Xml子元素中选择和每个?

asp.net - 用于 ASP.NET 的良好日期选择器

javascript - ReactJS 状态更改后内联样式无法正确渲染

javascript - 如何使用 Angular js 销毁每个 http 请求之前的响应?

javascript - 如何将自定义属性添加到文件表单 javascript/jquery

javascript - 为 Dynamics CRM 2011 创建 "wizard"

javascript - 下划线模板错误: function (n){return a.调用(this,n,h)}

javascript - array.push() 抛出奇怪的错误

javascript - 将 List<int> 作为 Javascript 函数的参数传递