CHECKBOX 的全选、取消及跨页保存的实现方法_实用技巧

复制代码 代码如下:

<script>
$(document).ready(function () {
/**
*全选checkbox
*/
$(".checkall").live("click", function () {
if ($(this).attr("checked") == "checked") {//如果选中
CheckAll();
} else {
UnCheckAll();
}
UpdateHfValues();
});

$(".checkone").each(function () {
$(this).live("click", function () {
CheckOne();
UpdateHfValues();
});
});

function UnCheckAll() {
//取消全选
$(".checkone").each(function () {
$(this).removeAttr("checked");
});
}

function CheckAll() {
//全选
$(".checkone").each(function () {
$(this).attr("checked", "checked");
});
}

function CheckOne() {
//单击单条消息时检验是否全选
var $length = $(".checkone").length;
var $checklenght = $(".checkone:checked").length;
if ($length == $checklenght) {
$(".checkall").attr("checked", "checked");
} else {
$(".checkall").removeAttr("checked");
}
}
var arr = $("#hfDel").val().split(",");
$(".checkone").each(function () {
var i = 0;
for (i = 0; i < arr.length; i++) {
if (arr[i] == $(this).val()) {
$(this).attr("checked", "checked");
}
}
});
var checkedNum = $(".checkone:checked").length;
var allNum = $(".checkone").length;
if (checkedNum == allNum) {
$(".checkall").attr("checked", "checked");
}

function UpdateHfValues() {
var $checkOneLen = $(".checkone:checked").length;
var $conVal = "";
$(".checkone:checked").each(function (i) {
$conVal += $(this).val() + ",";
});
if ($conVal.length > 0) {
$conVal = $conVal.substring(0, $conVal.length - 1);
}
$conVal = $conVal + "," + $("#hfDel").val();

var allArray = $conVal.split(",");
$(".checkone").each(function () {
if (typeof $(this).attr("checked") != "undefined" && $(this).attr("checked") == "checked") {
var i = 0;
var find = false;
for (i = 0; i < allArray.length; i++) {
if (allArray[i] == $(this).val()) {
find = true;
}
}
if (find == false) {
allArray.push($(this).val());
}
}
else {
var i = 0;
for (i = 0; i < allArray.length; i++) {
if (allArray[i] == $(this).val()) {
allArray[i] = "";
}
}
}
});

var i = 0;
var result = "";
for (i = 0; i < allArray.length; i++) {
if (allArray[i] != "") {
result += allArray[i] + ",";
}
}
if (result.length > 0) {
result = result.substring(0, result.length - 1);
}

$("#hfDel").val(result);
}

function UpdateValues() {
alert($("#hfDel").val());
var $checkOneLen = $(".checkone:checked").length;
var $conVal = "";

$(".checkone:checked").each(function (i) {
$conVal += $(this).val() + ",";
});

$conVal = $conVal.substring(0, $conVal.length - 1);

$("#hfDel").val($conVal);
}

$("#btnDeletes").unbind("click").live("click", function () {
if ($("#hfDel").val() != "") {
if (confirm("确定要启用用选中的选项吗?")) {
return true;
} else {
return false;
}
} else {
alert("您尚未选中要启用的选项!");
return false;
}
});

$("#lbTingYong").unbind("click").live("click", function () {
if ($("#hfDel").val() != "") {
if (confirm("确定要停用选中的选项吗?")) {
return true;
} else {
return false;
}
} else {
alert("您尚未选中要停用的选项!");
return false;
}
});
});

<script>
<input type="checkbox" id="ckAll" class="checkall" onclick="checkAll(this)" /></div>
<input type="checkbox" id="iCheck" class="checkone" value='<%#Eval("cSubjectDetailID") %>' />
<asp:HiddenField ID="hfDel" runat="server" />

时间: 2024-12-21 13:59:04

CHECKBOX 的全选、取消及跨页保存的实现方法_实用技巧的相关文章

.net开发中批量删除记录时实现全选功能的具体方法_实用技巧

1 . JS实现全选 往页面上拖一个GridView,设置好数据源,并为GridView添加一个模板列,往模板列里添加一个chekcbox,比如下面的代码 复制代码 代码如下: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"    DataSourceID="SqlD

GridView中checkbox&amp;quot;全选/取消&amp;quot;完美兼容IE和Firefox_实用技巧

复制代码 代码如下: function selectAll(obj) { var theTable = obj.parentNode.parentNode.parentNode.parentNode; var i; var j = obj.parentNode.cellIndex; for(i=1;i<theTable.rows.length;i++) { if(theTable.rows[i].cells.length<j) continue; var objCheckBox = theTa

在asp.net中实现datagrid checkbox 全选的方法_实用技巧

复制代码 代码如下: <form runat="server">  <asp:DataGrid AutoGenerateColumns="false"  OnItemCreated="itemcreate" DataKeyField="link_id" ID="mydg" runat="server" >  <columns>  <asp:Tem

asp.net实现取消页面表单内文本输入框Enter响应的方法_实用技巧

本文实例讲述了asp.net实现取消页面表单内文本输入框Enter响应的方法.分享给大家供大家参考,具体如下: 很早以前开发asp.net项目的时候遇到的:在一个服务器TextBox控件上按下 Enter键,页面回发刷新一遍.后来google一下,发现这是asp.net2.0为表单处理专门设置的"Enter key"功能,关于asp.net ajax表单的enter key,你可以查看这一篇<ASP.NET基于Ajax的Enter键提交问题>.前面给出链接的两篇都是叫我们怎

asp.net gridview多页时的批量删除_实用技巧

book_admin.aspx 复制代码 代码如下: <asp:GridView ID="grwBook" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="false" AllowPaging="true" DataKeyNames=

设置ASP.NET页面不被缓存(客户端/服务器端取消缓存方法)_实用技巧

复制代码 代码如下: /// <summary> /// 设置页面不被缓存 /// </summary> private void SetPageNoCache() { Response.Buffer = true; Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1); Response.Expires = 0; Response.CacheControl = "no-cache"; Res

asp.net基于替换模版页的形式生成静态页的方法_实用技巧

本文实例讲述了asp.net基于替换模版页的形式生成静态页的方法.分享给大家供大家参考,具体如下: 第一步:新建项目,创建一个简单模版页:TemplatePage.htm <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="

asp.net实现生成静态页并添加链接的方法_实用技巧

本文以实例讲解了asp.net实现生成静态页并添加链接的方法,非常实用的功能,通过本实例可以加深读者对于asp.net下文件操作的认识. 1.创建一个静态网页模板 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http

asp.Net JS取母板页控件值的简单方法_实用技巧

复制代码 代码如下: <script type="text/javascript" language="javascript">        function Check() {            var text = parent.document.getElementById('<%=HiddenField1.ClientID %>');  //如有母板页+pardent. ,普通取值不用加                if (c