帮个忙,给我写下代码,关于gridview的javascript

asdf144 2009-11-30 05:19:04
1.当我点击 "CheckBox" 全选时, 所有的 checkbox 都呈选中状态,并且所有的 gridview行都成红色.
当再点checkbox全选时,所有的checkbox都不选中,并且所有的 gridview行都成白色.


2.当我选择 gridview中某一行的checkbox时,该行就成红色,反之成白色


3.当鼠标移在gridview中的某行时,该行就成红色,鼠标离开时就成白色.


4.当我点击"全部"链接时,所有的checkbox呈选中状态,并且呈红色.


5.当我占击"无"链接时,所有的checkbox都不会选中,并且所有的gridview行变成白色



就这5个功能,希望大家忙个忙,在界面上用javascript实现,
注意:有两个功能是冲突的,要把握好.
希望大家自己建个界面测试一下,成功了,把界面上的的所有代码(包括控件代码)发上来,小弟谢谢了,
我搞了好几天,还是不成功,是冲突的,记住是在界面上用javascript实现.

强列要求你们自己建个界面自己试试,不要随手写哇,上次我就是看了你们随手写的,
误导我了,我搞了好几天,还是搞不出来.
如果你的代码测试成功,把你的界面上的所有代码都发上来一下,小弟先谢了.
...全文
415 59 打赏 收藏 转发到动态 举报
写回复
用AI写文章
59 条回复
切换为时间正序
请发表友善的回复…
发表回复
ricky5201 2010-06-29
  • 打赏
  • 举报
回复
我也来学习啊……
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 56 楼 jshi123 的回复:]
呵呵,说不出没什么好办法,就是多看资料多练习吧,说实在JS和jquery都是比较容易入门的,学会了就不会觉得有什么难的了
[/Quote]
呵呵,哎,真的很感谢你.
jshi123 2009-11-30
  • 打赏
  • 举报
回复
我下班了,再聊这贴就变成水贴了,88
jshi123 2009-11-30
  • 打赏
  • 举报
回复
呵呵,说不出没什么好办法,就是多看资料多练习吧,说实在JS和jquery都是比较容易入门的,学会了就不会觉得有什么难的了
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 54 楼 jshi123 的回复:]
这句
  return $("input:checkbox", $row).attr("checked") ? !reverse ? "red" : "white" : !reverse ? "white" : "red";
改成
  return $("input:checkbox", $row).attr("checked") || reverse ? "red" : "white";

[/Quote]
你的javascript太历害了,你学习js和jquery有什么方法吗?
jshi123 2009-11-30
  • 打赏
  • 举报
回复
这句
return $("input:checkbox", $row).attr("checked") ? !reverse ? "red" : "white" : !reverse ? "white" : "red";
改成
return $("input:checkbox", $row).attr("checked") || reverse ? "red" : "white";
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 52 楼 jshi123 的回复:]
如果不传参数,参数的默认值为"undefined",作为bool值的话,相当于false
[/Quote]
呵呵,学习了.
你能把jquery也改一下,我把它背下来算了.
jshi123 2009-11-30
  • 打赏
  • 举报
回复
如果不传参数,参数的默认值为"undefined",作为bool值的话,相当于false
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 49 楼 jshi123 的回复:]
有问题PM我好了,我看到会回的。平时时间不太固定,就现在还在加班呢,偷空上来看看的,不好意思了
[/Quote]
恩,对你
onclick='highlight( this.parentNode.parentNode )

但是你的highlight是两个参数,但onclick事件却是一个参数,这是这么回事?
极地_雪狼 2009-11-30
  • 打赏
  • 举报
回复
mark
jshi123 2009-11-30
  • 打赏
  • 举报
回复
有问题PM我好了,我看到会回的。平时时间不太固定,就现在还在加班呢,偷空上来看看的,不好意思了
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 46 楼 jshi123 的回复:]
不好意思啊,只有工作用的MSN,平时不太好聊,老板看到要发彪的
[/Quote]
就加下你的MSN,可以吗?真的希望向你多多学习.
修改一下昵称 2009-11-30
  • 打赏
  • 举报
回复
楼上的用的着这么复杂吗? 用Ajax配合图片几行代码就搞定了。
jshi123 2009-11-30
  • 打赏
  • 举报
回复
不好意思啊,只有工作用的MSN,平时不太好聊,老板看到要发彪的
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 44 楼 jshi123 的回复:]
把这一句
  var color = checkbox.checked ? !reverse ? "red" : "white" : !reverse ? "white" : "red";
改成:
  var color = checkbox.checked || reverse ? "red" : "white" ;

[/Quote]
能加下你的QQ不,以后可以随时向你学习下,可以吗?
jshi123 2009-11-30
  • 打赏
  • 举报
回复
把这一句
var color = checkbox.checked ? !reverse ? "red" : "white" : !reverse ? "white" : "red";
改成:
var color = checkbox.checked || reverse ? "red" : "white" ;
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 jshi123 的回复:]
帮你改成js了,后台不变
HTML code<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headid="Head1" runat="server"><title></title><script>function checkAll(checked) {var tb= document.getElementById('<%=gv.ClientID %>');var checkbox= tb.getElementsByTagName('input');for (var i=1; i<checkbox.length; i++) {
checkbox[i].checked= checked;
checkbox[i].parentNode.parentNode.style.background= checked?"red" :"white";
}
}function highlight(row, reverse) {var checkbox= row.getElementsByTagName('input')[0];var color= checkbox.checked?!reverse?"red" :"white" :!reverse?"white" :"red";
row.style.background= color;
}function init() {var tr= document.getElementById('<%=gv.ClientID %>').getElementsByTagName('tr');for (var i=1; i<tr.length; i++) {
tr[i].onmouseover=function() { highlight(this,true); }
tr[i].onmouseout=function() { highlight(this,false); }
}
}</script></head><bodyonload="init()"><formid="form1" runat="server"><div><spanstyle="font-size: 12px; color: #9399A7;">选择:</span><aid="cbxall" href="###"
class="font" onclick='checkAll(true);'>全部</a> -<aid="cbxnone" href="###" class="font"
onclick='checkAll(false);'>无</a></div><asp:GridViewID="gv" runat="server"><Columns><asp:TemplateField><HeaderTemplate><asp:CheckBoxID="CheckBox2" onclick='checkAll(this.checked);'runat="server"/>
全选</HeaderTemplate><ItemTemplate><asp:CheckBoxID="CheckBox1" runat="server" onclick='highlight(this.parentNode.parentNode );'/></ItemTemplate><ItemStyleWidth="30px"/></asp:TemplateField></Columns><HeaderStyleFont-Size="13px" HorizontalAlign="Left"/></asp:GridView></form></body></html>

其实jquery非常容易入手的,你可以google一下“jquery入门”,用它写可以方便很多
[/Quote]
其实你的代码有一点小小的问题,就是
当我选中的时候是红色,鼠标移上去就成白色了,
我要实现的是:
只要选中checkbox了,该行就为红色,不管鼠标移上去还是离开都是红色.
不知道这个可以实现不?
jshi123 2009-11-30
  • 打赏
  • 举报
回复
哪里不明白
asdf144 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 jshi123 的回复:]
帮你改成js了,后台不变
HTML code<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headid="Head1" runat="server"><title></title><script>function checkAll(checked) {var tb= document.getElementById('<%=gv.ClientID %>');var checkbox= tb.getElementsByTagName('input');for (var i=1; i<checkbox.length; i++) {
checkbox[i].checked= checked;
checkbox[i].parentNode.parentNode.style.background= checked?"red" :"white";
}
}function highlight(row, reverse) {var checkbox= row.getElementsByTagName('input')[0];var color= checkbox.checked?!reverse?"red" :"white" :!reverse?"white" :"red";
row.style.background= color;
}function init() {var tr= document.getElementById('<%=gv.ClientID %>').getElementsByTagName('tr');for (var i=1; i<tr.length; i++) {
tr[i].onmouseover=function() { highlight(this,true); }
tr[i].onmouseout=function() { highlight(this,false); }
}
}</script></head><bodyonload="init()"><formid="form1" runat="server"><div><spanstyle="font-size: 12px; color: #9399A7;">选择:</span><aid="cbxall" href="###"
class="font" onclick='checkAll(true);'>全部</a> -<aid="cbxnone" href="###" class="font"
onclick='checkAll(false);'>无</a></div><asp:GridViewID="gv" runat="server"><Columns><asp:TemplateField><HeaderTemplate><asp:CheckBoxID="CheckBox2" onclick='checkAll(this.checked);'runat="server"/>
全选</HeaderTemplate><ItemTemplate><asp:CheckBoxID="CheckBox1" runat="server" onclick='highlight(this.parentNode.parentNode );'/></ItemTemplate><ItemStyleWidth="30px"/></asp:TemplateField></Columns><HeaderStyleFont-Size="13px" HorizontalAlign="Left"/></asp:GridView></form></body></html>

其实jquery非常容易入手的,你可以google一下“jquery入门”,用它写可以方便很多
[/Quote]
太感谢你了,不过你的代码我看起也有点难度哦,能注释下不,没办法,新手啊!
jshi123 2009-11-30
  • 打赏
  • 举报
回复
帮你改成js了,后台不变


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>

<script>
function checkAll(checked) {
var tb = document.getElementById('<%=gv.ClientID %>');
var checkbox = tb.getElementsByTagName('input');
for (var i=1; i<checkbox.length; i++) {
checkbox[i].checked = checked;
checkbox[i].parentNode.parentNode.style.background = checked ? "red" : "white";
}
}

function highlight(row, reverse) {
var checkbox = row.getElementsByTagName('input')[0];
var color = checkbox.checked ? !reverse ? "red" : "white" : !reverse ? "white" : "red";
row.style.background = color;
}

function init() {
var tr = document.getElementById('<%=gv.ClientID %>').getElementsByTagName('tr');
for (var i=1; i<tr.length; i++) {
tr[i].onmouseover = function() { highlight(this, true); }
tr[i].onmouseout = function() { highlight(this, false); }
}
}

</script>

</head>
<body onload="init()">
<form id="form1" runat="server">
<div>
<span style="font-size: 12px; color: #9399A7;">选择:</span> <a id="cbxall" href="###"
class="font" onclick='checkAll(true);'>全部</a> -<a id="cbxnone" href="###" class="font"
onclick='checkAll(false);'>无</a>
</div>
<asp:GridView ID="gv" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="CheckBox2" onclick='checkAll(this.checked);' runat="server" />
全选
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick='highlight( this.parentNode.parentNode );' />
</ItemTemplate>
<ItemStyle Width="30px" />
</asp:TemplateField>
</Columns>
<HeaderStyle Font-Size="13px" HorizontalAlign="Left" />
</asp:GridView>
</form>
</body>
</html>


其实jquery非常容易入手的,你可以google一下“jquery入门”,用它写可以方便很多
加载更多回复(39)

62,071

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧