【发布时间】:2015-09-25 10:14:27
【问题描述】:
我有这组 javascript 代码,允许我根据我的选择禁用/启用复选框。
下面的第一组代码允许我将默认值设置为“全选”,并在第一个页面加载期间选中“全选”而不是在回发时禁用其余代码。在回发中不这样做的原因是因为例如,如果用户没有选中复选框列表 2 中的任何复选框,我想提示用户选择复选框列表 2 中的至少一个复选框,但不想覆盖之前的用户选择在回发时使用 checkboxlist1 和 checkboxlist2 中的默认“全选”。
$(function () {
if($("#hidden").val() == "")
{
$("#Checkboxlist1 :checkbox").attr('disabled', 'disabled');
$("#Checkboxlist1 :checkbox[value='Select All']").removeAttr('disabled');
$("#Checkboxlist1 :checkbox[value='Select All']").prop("checked", true);
$("#Checkboxlist2 :checkbox").attr('disabled', 'disabled');
$("#Checkboxlist2 :checkbox[value='Select All']").removeAttr('disabled');
$("#Checkboxlist2 :checkbox[value='Select All']").prop("checked", true);
$("#hidden").val("set");
}
});
$(function () {
$("#Checkboxlist2 :checkbox").change(function () {
var ischecked = $(this).is(":checked");
var val = $(this).val();
//alert(val);
if (val == "Select All") {
if (ischecked) {
$("#Checkboxlist2 :checkbox").attr('disabled', 'disabled');
$(this).removeAttr('disabled');
$("#Checkboxlist2 :checkbox").prop("checked", false);
$(this).prop("checked", true);
return;
} else {
$("#Checkboxlist2 :checkbox").removeAttr('disabled');
return;
我的问题是:
在回发时,我的检查值会保留,但之前禁用的复选框已启用,那么我如何在回发时保留其整个状态?
我确实启用了我的复选框列表 enableviewstate = true
【问题讨论】:
-
你在使用更新面板吗??
-
不,我没有使用更新面板
标签: javascript c# jquery asp.net checkbox