vs2003中repeater列表中的按钮点击后该行变色

同上repeater中使用table中的tr循环的没行tr中又有4个td最后一个td有个按钮此按钮中我用LinkButton绑定了一个行点击事件处理一些东西OnComma... 同上 repeater中使用table中的tr循环的 没行tr中又有4个td 最后一个td有个按钮 此按钮中我用LinkButton绑定了一个行点击事件处理一些东西OnCommand="btnSel_Click" 以上为原代码 都好用好用好用好用
后提需求: 当点这个按钮后 改行要加颜色以区分其他行
本来感觉没什么问题 但是做了半天没有实现
基本原理应该是 点击该行按钮 先清空所有行的样式 再给该行加上变色样式 搞了半天 由于技术不够扎实 没能实现
故请求大神帮个忙 给点提示 或 直接上段代码 帮帮小弟 希望是在我上边说的btnSel_Click中直接解决吧~
如果描述还不清楚请说明哪里
LinkButton b = sender as LinkButton;
int index = Convert.ToInt32(b.CommandArgument);
可以找到当前行index
Label lb = ((LinkButton)sender).Parent.FindControl("lab") as Label;
还能这样找到改行的其他控件lb
lb.Attributes.Add("style", "background:red");
这样可以给这个label改样式
但是如何找该行的TR啊?
展开
 我来答
handangaoyang
2014-01-14 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:923万
展开全部

用js实现。代码如下:

<script type="text/javascript">
    function changeCss(obj){
        var $tr = $(this).closest("tr");
        $tr.css("background","red").siblings("tr").css("background","");
    }
</script>

//在你的linkbutton中
<asp:LinkButton OnClientClick="changeCss(this);" />
更多追问追答
追问
首先我在vs2003中做得项目 是不支持jquery滴

然后我用vs2010 试了下 貌似不好使啊 jquert也引用了
追答

03没用过。如果真的不支持jQuery。

可以根据LinkButton来查找Tr

//这样来找到所在的RepeaterItem
RepeaterItem item = lk.NamingContainer.NamingContainer as RepeaterItem;
item.Attributes.Add(样式);

10可能需要定义一个样式类

.trRed td { color: #f00;}
<script type="text/javascript">    
    function changeCss(obj){        
        var $tr = $(this).closest("tr");        
        $tr.addClass("trRed").siblings("tr").removeClass("trRed")    
    }
</script>
//如果不行,调试一下,是否进入到方法中
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式