在Repeater里面的使用CheckBox 的问题

YY_StartGO 2009-09-19 10:44:25
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="rep_table">
<tr class="rep_alternating">
<th class="rep_td" style="width:50px" >
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged"/></th>
<th class="rep_td">
序号</th>
<th class="rep_td">
用户名称</th>
<th class="rep_td">
用户账号</th>
<th class="rep_td">
联系电话</th>
<th class="rep_td">
EMAIL</th>
<th class="rep_td">
用户类型</th>
<th class="rep_td">
操作</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr onmouseover="rep_mo(this)" onmouseout="rep_mout(this,true)" class="rep_normal">
<td>
<asp:CheckBox ID="CheckBox2" runat="server" /> </td>
<td class="rep_td" align="center" style="width:50px">
 <%# Eval("VC_ID")%>
</td>
<td class="rep_td" align="left" style="width:300px">
 <%# Eval("VC_YHMC")%>
</td>
<td class="rep_td" align="left" style="width:150px">
 <%# Eval("VC_YHZH")%>
</td>
<td class="rep_td" align="left" style="width:160px">
 <%# Eval("VC_LXDH")%>
</td>
<td class="rep_td" align="left" style="width:160px">
 <%# Eval("VC_EMAIL")%>
</td>
<td class="rep_td" align="center" style="width:160px">
 <%# Eval("I_LX")%>
</td>
<td class="rep_td" align="left" style="width:160px">
 <a href="mod_userinfor.aspx?id=<%# Eval("VC_ID")%>" target="_self"><img src="../img/edit.gif" style="text-decoration:none;color:#000000;border:0;" alt=""/></a> 
<a href="#"><img src="../img/default_set.gif" style="text-decoration:none;color:#000000;border:0;" alt=""/></a>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr onmouseover="rep_mo(this)" onmouseout="rep_mout(this,false)" class="rep_alternating">
<td>
<asp:CheckBox ID="CheckBox2" runat="server" /> </td>
<td class="rep_td" align="center" style="width:50px">
 <%# Eval("VC_ID")%>
</td>
<td class="rep_td" align="left" style="width:300px">
 <%# Eval("VC_YHMC")%>
</td>
<td class="rep_td" align="left" style="width:150px">
 <%# Eval("VC_YHZH")%>
</td>
<td class="rep_td" align="left" style="width:160px">
 <%# Eval("VC_LXDH")%>
</td>
<td class="rep_td" align="left" style="width:160px">
 <%# Eval("VC_EMAIL")%>
</td>
<td class="rep_td" align="center" style="width:160px">
 <%# Eval("I_LX")%>
</td>
<td class="rep_td" align="left" style="width:160px">
 <a href="mod_userinfor.aspx?id=<%# Eval("VC_ID")%>" target="_self"><img src="../img/edit.gif" style="text-decoration:none;color:#000000;border:0;" alt=""/></a> 
<a href="#"><img src="../img/default_set.gif" style="text-decoration:none;color:#000000;border:0;" alt=""/></a>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>



当我选中CheckBox1的时候checkbox2 如何全部选中了啊(就是全选 checkbox1是总选,checkbox2是每条信息选中 )

我用CheckBox1_CheckedChanged 事件 好像是找不到 checkbox2的ID

checkbox2 有很多 我选中它又如何得到它的值(ID)啊? 因为我还要删除
在Repeater里面的使用CheckBox 我用的很少 不太清楚啊!
...全文
124 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫名3 2009-09-23
  • 打赏
  • 举报
回复
帮你顶
  • 打赏
  • 举报
回复
加上AutoPostBack=True

<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" AutoPostBack="true"/>


后台:

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
foreach(RepeaterItem item in Repeater1.Items)
{
((CheckBox)item.FindControl("CheckBox2")).Checked = ((CheckBox)sender).Checked;
}
}
YY_StartGO 2009-09-19
  • 打赏
  • 举报
回复
自己顶啊
  • 打赏
  • 举报
回复
晕!~

<input type="checkbox" name="checkbox2" value="<%#Eval("VC_ID")%>"/>
  • 打赏
  • 举报
回复
上面错了。。

<input type="checkbox" id="checkbox2" value=" <%Eval("VC_ID")%>">
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ystart328y 的回复:]
引用 8 楼 lixinramaxel41658133 的回复:
js函数
HTML code <scriptlanguage="javascript">var chkList= document.getElementsByName("CheckBox2");   
    window.onload=function()
    {//为所有checkbox添加onclick事件处理,以自动更新“已选择的项”for(var i=0; i <chkList.length; i++)
        {
            chkList[i].onclick= chkClick;
        }
    }//checkbox的onclick事件,用于更新“已选择的项”function chkClick(){var checkedList="";//获取所有被选中的项for(var i=0; i <chkList.length; i++){if(chkList[i].checked)
                checkedList+= chkList[i].value+",";
        }//把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号        document.getElementById("HiddenField1").value= checkedList.substring(0,checkedList.length-1);
    }function checkAll()
    {var chkall=document.getElementById("CheckBox1");if(chkall.checked)
        {var checkedList="";for(var i=0;i <chkList.length;i++)
            {
                  chkList[i].checked=true;
                  checkedList+= chkList[i].value+",";
            }
            document.getElementById("HiddenField1").value= checkedList.substring(0,checkedList.length-1);
        }else
        {for(var i=0;i <chkList.length;i++)
                  chkList[i].checked=false;
            document.getElementById("HiddenField1").value="";
        }
    } </script>

将服务器控件换成客户端控件。。
HTML code <inputtype="checkbox" id="CheckBox1" onclick="checkAll()"/> <inputtype="checkbox" id="CheckBox2"/>



你这是得到它选中的值  可是我这放的checbox 跟那个绑定数据没有什么关系啊  你可以看下我的代码啊


那怎么的到它的ID 啊
[/Quote]
疏忽,你这样定义checkbox,<input type="checkbox" id="checkbox2" values="<%Eval("VC_ID")%>"
mngzilin 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mngzilin 的回复:]
js代码
<asp:CheckBox ID="CheckBox1" runat="server" onclick="xx(this)" />

function  xx(Mobj)
{
    var objs = window.document.getElementsByTagName("input");
    for(var  i=0;i <objs.length;i++)
    {
        if (objs[i].type == "checkbox")
        {
            if(Mobj.checked==true)
              objs[i].checked=true;
            if(Mobj.checked==false)
              objs[i].checked=false;
        }
    }
}
[/Quote]

这个最简单了
莫名3 2009-09-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lixinramaxel41658133 的回复:]
js函数
HTML code<scriptlanguage="javascript">var chkList= document.getElementsByName("CheckBox2");
window.onload=function()
{//为所有checkbox添加onclick事件处理,以自动更新“已选择的项”for(var i=0; i<chkList.length; i++)
{
chkList[i].onclick= chkClick;
}
}//checkbox的onclick事件,用于更新“已选择的项”function chkClick(){var checkedList="";//获取所有被选中的项for(var i=0; i<chkList.length; i++){if(chkList[i].checked)
checkedList+= chkList[i].value+",";
}//把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号 document.getElementById("HiddenField1").value= checkedList.substring(0,checkedList.length-1);
}function checkAll()
{var chkall=document.getElementById("CheckBox1");if(chkall.checked)
{var checkedList="";for(var i=0;i<chkList.length;i++)
{
chkList[i].checked=true;
checkedList+= chkList[i].value+",";
}
document.getElementById("HiddenField1").value= checkedList.substring(0,checkedList.length-1);
}else
{for(var i=0;i<chkList.length;i++)
chkList[i].checked=false;
document.getElementById("HiddenField1").value="";
}
}</script>

将服务器控件换成客户端控件。。
HTML code<inputtype="checkbox" id="CheckBox1" onclick="checkAll()"/><inputtype="checkbox" id="CheckBox2"/>
[/Quote]



你这是得到它选中的值 可是我这放的checbox 跟那个绑定数据没有什么关系啊 你可以看下我的代码啊


那怎么的到它的ID 啊
lralch 2009-09-19
  • 打赏
  • 举报
回复
用js好多了。
  • 打赏
  • 举报
回复
js函数

<script language="javascript">
var chkList = document.getElementsByName("CheckBox2");
window.onload = function()
{
//为所有checkbox添加onclick事件处理,以自动更新“已选择的项”
for(var i=0; i<chkList.length; i++)
{
chkList[i].onclick = chkClick;
}
}
//checkbox的onclick事件,用于更新“已选择的项”
function chkClick(){
var checkedList = "";
//获取所有被选中的项
for(var i=0; i<chkList.length; i++){
if(chkList[i].checked)
checkedList += chkList[i].value + ",";
}
//把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号
document.getElementById("HiddenField1").value = checkedList.substring(0,checkedList.length-1);
}
function checkAll()
{
var chkall=document.getElementById("CheckBox1");
if(chkall.checked)
{
var checkedList = "";
for(var i=0;i<chkList.length;i++)
{
chkList[i].checked=true;
checkedList += chkList[i].value + ",";
}
document.getElementById("HiddenField1").value = checkedList.substring(0,checkedList.length-1);
}
else
{
for(var i=0;i<chkList.length;i++)
chkList[i].checked=false;
document.getElementById("HiddenField1").value="";
}
}
</script>


将服务器控件换成客户端控件。。

<input type="checkbox" id="CheckBox1" onclick="checkAll()"/>
<input type="checkbox" id="CheckBox2"/>
nbaertuo 2009-09-19
  • 打赏
  • 举报
回复
不让我下载,只能灌水赚积分啦!
chen_ya_ping 2009-09-19
  • 打赏
  • 举报
回复
CheckBox1_CheckedChanged
{
if(sender is checkbox)
{
checkbox current=sender as checkbox;
if(current.id=="CheckBox1")
{
checkbox2.checked=true;
}
}
}
mngzilin 2009-09-19
  • 打赏
  • 举报
回复
js代码
<asp:CheckBox ID="CheckBox1" runat="server" onclick="xx(this)" />

function xx(Mobj)
{
var objs = window.document.getElementsByTagName("input");
for(var i=0;i<objs.length;i++)
{
if (objs[i].type == "checkbox")
{
if(Mobj.checked==true)
objs[i].checked=true;
if(Mobj.checked==false)
objs[i].checked=false;
}
}
}
莫名3 2009-09-19
  • 打赏
  • 举报
回复
YY_StartGO 2009-09-19
  • 打赏
  • 举报
回复
AutoPostBack=True

用这个页面刷新的啊 还有没有其他的方法啊

62,074

社区成员

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

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

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

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