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啊? 展开
后提需求: 当点这个按钮后 改行要加颜色以区分其他行
本来感觉没什么问题 但是做了半天没有实现
基本原理应该是 点击该行按钮 先清空所有行的样式 再给该行加上变色样式 搞了半天 由于技术不够扎实 没能实现
故请求大神帮个忙 给点提示 或 直接上段代码 帮帮小弟 希望是在我上边说的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啊? 展开
1个回答
展开全部
用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>
//如果不行,调试一下,是否进入到方法中
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询