我用js实现CheckBoxList全选,具体代码是这样的
<script type="text/javascript" language="javascript">
//全选
function CheckAll(chb) {
var aa = document.getElementsByTagName("input");
for (var i = 0; i < aa.length; i++) {
if (aa[i].type == "checkbox" && aa[i].name.indexOf(chb) > -1) {
aa[i].checked = true;
}
}
}
//反选
function RemoveAll(chb) {
var aa = document.getElementsByTagName("input");
for (var i = 0; i < aa.length; i++) {
if (aa[i].type == "checkbox" && aa[i].name.indexOf(chb) > -1) {
aa[i].checked = false;
}
}
}
</script>这里是CheckBoxList控件:<asp:CheckBoxList ID="ChbQueryUser" runat="server">
</asp:CheckBoxList>
这里是触发全选事件的a标签:<a href="javascript:void(CheckAll('ChbQueryUser'))">全选</a>
这是后台代码:protected void BtnDeleteQueryUser_Click(object sender, EventArgs e)
{
for (int i = 0; i < ChbQueryUser.Items.Count; i++)
{
if (ChbQueryUser.Items[i].Selected == true)
{
int ID = Convert.ToInt32(ChbQueryUser.Items[i].Value);
am.DeleteAuthority(ID, 1);
bind();
bindQuery();
}
}
}
点击全选选中全部项,但是后台处理的时候只能处理第一个被选中的项,然后下一个被选中的项就检测不到跳出了循环,我的js是小白,有知道的朋友希望不吝赐教。谢谢
<script type="text/javascript" language="javascript">
//全选
function CheckAll(chb) {
var aa = document.getElementsByTagName("input");
for (var i = 0; i < aa.length; i++) {
if (aa[i].type == "checkbox" && aa[i].name.indexOf(chb) > -1) {
aa[i].checked = true;
}
}
}
//反选
function RemoveAll(chb) {
var aa = document.getElementsByTagName("input");
for (var i = 0; i < aa.length; i++) {
if (aa[i].type == "checkbox" && aa[i].name.indexOf(chb) > -1) {
aa[i].checked = false;
}
}
}
</script>这里是CheckBoxList控件:<asp:CheckBoxList ID="ChbQueryUser" runat="server">
</asp:CheckBoxList>
这里是触发全选事件的a标签:<a href="javascript:void(CheckAll('ChbQueryUser'))">全选</a>
这是后台代码:protected void BtnDeleteQueryUser_Click(object sender, EventArgs e)
{
for (int i = 0; i < ChbQueryUser.Items.Count; i++)
{
if (ChbQueryUser.Items[i].Selected == true)
{
int ID = Convert.ToInt32(ChbQueryUser.Items[i].Value);
am.DeleteAuthority(ID, 1);
bind();
bindQuery();
}
}
}
点击全选选中全部项,但是后台处理的时候只能处理第一个被选中的项,然后下一个被选中的项就检测不到跳出了循环,我的js是小白,有知道的朋友希望不吝赐教。谢谢
楼主一共有几个checkbox啊,你input获取的是HTML的标签,asp.net的应该不是这样的,你最好把代码全站出来,我看看
{
int ID = Convert.ToInt32(ChbQueryUser.Items[i].Value);
am.DeleteAuthority(ID, 1);
bind();//这是什么?是不是又重新绑定了一次数据?
bindQuery();
}
{
for (int i = 0; i < ChbQueryUser.Items.Count; i++)
{
if (ChbQueryUser.Items[i].Selected == true)
{
int ID = Convert.ToInt32(ChbQueryUser.Items[i].Value);
am.DeleteAuthority(ID, 1);
}
}
//如果你这里确实是数据重新绑定的话
bind();
bindQuery();
}