日期:2014-05-17  浏览次数:20787 次

GridView分页中怎么保存checkbox
GridView中有分页 而每行数据中都有checkbox 

当第一页有checked的值为true
点到第二页后在点到第一页
checked的值就还原成fales

怎么保存checked的值
使其值不变


------解决方案--------------------
跨页存储


前台 $(document).ready(function () {
$.fn.checkMultiPage();}

其中hfdel为 HIddenField
checkall 全选CHECKBOX的class
checkone 单个的CHECKBOX的class 


//*****************************************************************
//
// File Name: CheckBox.cs
//
// Description: checkbox多选通用插件
//
// Coder:
//
// Date:
//
// History:
//
//*****************************************************************
(function ($) {
//一些默认值
var defaultVar = {
hiddenID: "hfDel", //默认存储隐藏域的ID
allCheckBox: ".checkall", //全选checkbox的ID或name或class
oneCheckBox: ".checkone"//列表下单个checkbox的ID或name或class
};

//单页面check
$.fn.checkSinglePage = function (options) {
if (typeof options != "undefined") {
if (typeof options.hiddenID != "undefined") {
defaultVar.hiddenID = options.hiddenID;
}
if (typeof options.allClass != "undefined") {
defaultVar.allCheckBox = options.allCheckBox;
}
if (typeof options.oneClass != "undefined") {
defaultVar.oneCheckBox = options.oneCheckBox;
}
}

$(defaultVar.allCheckBox).live("click", function () {
if ($(this).attr("checked") == "checked") {//如果选中
CheckAll();
} else {
UnCheckAll();
}
UpdateSinglePageValues();
});

$(defaultVar.oneCheckBox).each(function () {
$(this).live("click", function () {
CheckOne();
UpdateSinglePageValues();
});
});

InitialChecked();
};

//跨页面check
$.fn.checkMultiPage = function (options) {
if (typeof options != "undefined") {
if (typeof options.hiddenID != "undefined") {
defaultVar.hiddenID = options.hiddenID;
}
if (typeof options.allClass != "undefined") {
defaultVar.allCheckBox = options.allCheckBox;
}
if (typeof options.oneClass != "undefined") {
defaultVar.oneCheckBox = options.oneCheckBox;
}
}

$(defaultVar.allCheckBox).live("click", function () {
if ($(this).attr("checked") == "checked") {//如果选中
CheckAll();
} else {
UnCheckAll();
}
UpdateMultiPageValues();
});

$(defaultVar.oneCheckBox).each(function () {
$(this).live("click", function () {
CheckOne();
UpdateMultiPageValues();
});
});

InitialChecked();
};

//将隐藏域中存放的ID选择到checkbox上
function InitialChecked() {
var arr = $("#" + defaultVar.hiddenID).val().split(",");
$(defaultVar.oneCheckBox).each(function () {
var i = 0;
for (i = 0; i < arr.length; i++) {
if (arr[i] == $(this).val()) {
$(this).attr("checked", "checked");
}