这个JS要怎么写?

liujingbo911 2006-12-27 09:47:07
<script language="javascript" type="text/javascript">
function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked)
{
all.checked = false;
}
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
<asp:datagrid id="DataGrid1" style="Z-INDEX: 100; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"
AllowPaging="True" PageSize="5">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<FONT face="宋体"><INPUT id="mmAll" title="全选/取消" onclick="checkAll(this, 'mm')" type="checkbox" name="mmAll"></FONT>
</HeaderTemplate>
<ItemTemplate>
<INPUT id="chkSelect" onclick="checkItem(this, 'mmAll')" type="checkbox" name="mm" runat="server">
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>

当在id="chkSelect"里面加上runat="server"的时候就不能用了!请问如何更改脚本代码的判断?
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
knifesky 2006-12-27
  • 打赏
  • 举报
回复
服务器控件的前端onclick不能这么写;
得这样,在cs里
mmAll.Atrributes.Add("onclick","checkItem(this, 'mmAll')");
rebacca1620 2006-12-27
  • 打赏
  • 举报
回复
我觉得如果用客户端控件也可以实现楼主的功能吧。一个全选按钮,还有数据项循环出来的复选框。
yiyioo 2006-12-27
  • 打赏
  • 举报
回复
当你把checkbox设置为服务端运行的时候.而它又被包含在datagrid控件中

所以到客户端的时候,它的id和name都发生了变化

类似于DataGrid1$ct100$chkSelect

楼主可以根据生成的html中的id或者name的具体情况来修改代码..

62,046

社区成员

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

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

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

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