使用CheckBox启用CheckBoxList? - ASP.NET

时间:2013-08-20 14:29:55

标签: javascript jquery html asp.net

我的代码遇到了问题,我能够使用代码来实现它,但是因为我的滑动面板(使用jQuery)在帖子后面受到干扰,所以它并不好。

默认情况下禁用CheckBoxList,不会自动回发。

如果选中CheckBox,我希望CheckBoxList成为启用。

目前,我有这段代码:

$("#BizAppsCheckBox").click(function () {
        if (this.checked)
            $('#BizAppsCheckBoxList').removeAttr('disabled');
        else
            $('#BizAppsCheckBoxList').attr('disabled', 'disabled');
    });

如何解决此问题?

对我来说,最好的解决方案,感谢答案:

$(document).ready(function () {    
if ($("#BizAppsCheckBox").prop('checked') == false) {
                $('#BizAppsCheckBoxList *').prop('disabled', true);
            }
            else {
                $('#BizAppsCheckBoxList *').prop('disabled', false);
            }

$("#BizAppsCheckBox").click(function () {
                if (this.checked)
                    $('#BizAppsCheckBoxList *').prop('disabled', false);
                else
                    $('#BizAppsCheckBoxList *').prop('disabled', true) &
                $('#BizAppsCheckBoxList *').prop('checked', false);
            });
});

3 个答案:

答案 0 :(得分:2)

试试这个:

你应该使用ClientID cuz asp.net确实提供了不同的ID(当在容器下时)

$("#<%=BizAppsCheckBox.ClientID%> ").click(function () {
                if (this.checked)
                    $('#<%=BizAppsCheckBoxList.ClientID%>').prop('disabled',false);
                else
                    $('#<%=BizAppsCheckBoxList.ClientID%>').prop('disabled', true);
            });

修改

 $("#<%=BizAppsCheckBox.ClientID%>").click(function () {
                if (this.checked)
                    $('#<%=BizAppsCheckBoxList.ClientID%> *').prop('disabled', false);
                else
                    $('#<%=BizAppsCheckBoxList.ClientID%> *').prop('disabled', true);
            });

答案 1 :(得分:1)

如果ClientIDMode不是静态的,请使用prop代替attr,然后使用ClientID服务器控件

$("#<%= BizAppsCheckBox.ClientID %>").click(function () {
      if (this.checked)
           $('#<%= BizAppsCheckBoxList.ClientID %>').prop('disabled', true);
      else
           $('#<%= BizAppsCheckBoxList.ClientID %>').prop('disabled', false);
});

答案 2 :(得分:1)

这将解决问题

$("#<%=BizAppsCheckBox.ClientID%>").click(function () {       
       $('#<%=BizAppsCheckBoxList.ClientID%>').prop('disabled',!this.checked);
});

$("#BizAppsCheckBox").click(function () {
         $('#BizAppsCheckBoxList').prop('disabled', !this.checked);
});

尝试使用.on()

$("document").on("click","#<%=BizAppsCheckBox.ClientID%>",function(){
         $('#<%=BizAppsCheckBoxList.ClientID%>').prop('disabled',!this.checked);
});