日期:2014-05-18  浏览次数:20517 次

请教一下GridView1.ClientID是什么来的?
<script language="javascript" type="text/javascript">>
  function selAll(obj)
  {
  var gv=document.getElementById('<%= GridView1.ClientID %>');
  for(var i=1;i<gv.rows.length;i++) 
  {
  var cel=gv.rows[i].cells[0];
  var chk=cel.getElementsByTagName("input")[0]; 
  chk.checked=obj.checked;
  }  
  }
  </script>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" GridLines="None" CellSpacing="1" DataKeyNames="productID" PageSize="15">

<asp:CheckBox ID="CheckBox1" runat="server" Text="全选" onclick="selAll(this)" />

请问一下,为什么这个全选出不了效果,还有<%= GridView1.ClientID %>的ClientID是什么来的,怎么得来的?

------解决方案--------------------
GridView中checkBox全选JS代码
------解决方案--------------------
var chk=cel.getElementsByTagName("input")[0]; 

改成
 var chk=cel.getElementsByTagName("input")[i]; 

  
 ClientID是获取编译后的ID。

这里是编译后获取了一个TABEL的ID

------解决方案--------------------
关键是你的第一列是checkbox吗
gv.rows[i].cells[0];??
------解决方案--------------------
请问一下,这里的input代表什么?
代表一个input表单元素
------解决方案--------------------
给你一个完整的例子
http://dotnet.aspx.cc/article/a8efc285-f0b1-4f8f-8e73-2b7d8724a47c/read.aspx
http://dotnet.aspx.cc/Exam/GridViewCheckAll.aspx
------解决方案--------------------
input代表一个input表单元素
------解决方案--------------------
http://dotnet.aspx.cc/article/a8efc285-f0b1-4f8f-8e73-2b7d8724a47c/read.aspx
http://dotnet.aspx.cc/Exam/GridViewCheckAll.aspx

是有效果的,照着做个
所有常见浏览器测试通过

------解决方案--------------------
GridView1.ClientID是在客户端这个控件的id