ASP.NET列表中checkbox批量操作

<input type="checkbox" name="chkChild" id="<%#Eval("FID") %>" /> //每一行的checkbox列 <div class="pagination_1">

      <input id="ckAll" type="checkbox" name="chkA" /><label for="ckAll">全选</label> //最下面的全选checkbox

</div>



<a href="#" onclick="delChecked(<%=pageIndex %>)"><div class="button_2">删除</div></a> //删除按钮

<input type="hidden" id="hdclicks" value="0" /> //隐藏的,用于保存数值 

上面是HTML代码

 

JS代码:

  • 点击“全选”的checkbox所有的checkbox都显示选中状态:
 //全选

    $("input[name=chkA]").click(function () { $("input[name=chkChild]").attr("checked", $(this).attr("checked")); //选中全部信息

        var flag = $(this).attr("checked");
     $(
"input[name=chkA]").each(function () {//选择下面的全选框 $(this).attr("checked", flag); }); });
  • 选择上面列表中的checkbox最下面的“全选”发生变化:
//选中信息

    $("input[name=chkChild]").click(function () { if (!$(this).attr("checked"))   //当前记录未选中,全选不选中

            $("input[name=chkA]").each(function () { $(this).attr("checked", false); }); else//当前记录选中

 { var flag = true; var $inputs = $("input[name=chkChild]"); for (var i = 0; i < $inputs.length; i++) { if (!$($inputs[i]).attr("checked")) { flag = false; break; } } $("input[name=chkA]").each(function () { $(this).attr("checked", flag); }); } });
  • 批量删除:
//批量删除

function delChecked(page) { var times = $("#hdclicks").val(); $("#hdclicks").val(times + 1); times = $("#hdclicks").val(); if (times > 1) //解决操作过程中重复操作!!! { alert("正在处理,请稍后操作"); return false; } var msg = "警告:此操作不可恢复!!\r您真的要删除吗?"; var alertmsg = "请选择要删除的信息!"; var $inputs = $("input[name=chkChild]"); var keyId = ""; for (var i = 0; i < $inputs.length; i++) { if ($($inputs[i]).attr("checked")) { keyId = keyId + $($inputs[i]).attr("id") + ","; } } if (keyId.length > 0) { if (confirm(msg)) { keyId = keyId.substr(0, keyId.length - 1); var url = "FooterManage.aspx?opt=del&fid=" + keyId + "&page=" + page; window.location.href = url; return true; } else { $("#hdclicks").val(times - 1); return false; } } else { alert(alertmsg); } }

 

 

 

你可能感兴趣的:(checkbox)