我有這套javascript代碼,允許我根據自己的選擇禁用/啓用複選框。如何在回發時保留禁用的複選框?
下面的第一組代碼允許我將默認設置爲「全選」,並在第一次加載頁面時選中「全選」而不是在回發時禁用其餘選項。之所以不回覆是因爲,例如,如果用戶沒有選中checkboxlist2中的任何複選框,我想提示用戶選中checkboxlist 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;
我的問題是:
在回傳我的校驗值,但保留以前禁用的複選框被啓用讓我怎麼回發後保持其整體的狀態?
我使我的CheckBoxList的EnableViewState =真
您使用更新潘內爾工作嗎? – Webruster
不,我沒有使用更新面板 –