使用aspx格式的jquery禁用gridview控件

时间:2012-04-18 05:37:43

标签: jquery asp.net

我有一个表格,其中有一个CheckBox和一个gridview。当我取消选中CheckBox时,我想要禁用Gridview中的控件。这是我的gridview aspx:

                            <div id="gridVersion" runat="server">
                                <ac:GridViewWithPager ID="gdvwAllowedVersion" runat="server" UseCustomPager="True"
                                    AllowPaging="True" AutoGenerateColumns="False" Width="50%">
                                    <Columns>
                                        <asp:TemplateField ItemStyle-CssClass="centerdata">
                                            <ItemTemplate>
                                                <asp:RadioButton ID="rdblSelectedVersionList" runat="server" AutoPostBack="true" Checked='<%#Eval("IsSelected") %>'
                                                    EnableViewState="true" OnCheckedChanged="rdblSelectedVersionList_CheckedChanged" />
                                            </ItemTemplate>
                                            <HeaderStyle HorizontalAlign="Center" Width="2%"></HeaderStyle>
                                        </asp:TemplateField>
                                        <asp:TemplateField HeaderText="IDEAlliance Version" HeaderStyle-Width="11%" HeaderStyle-HorizontalAlign="Left">
                                            <ItemTemplate>
                                                <asp:Label ID="lblVersion" runat="server" Text='<%# Eval("IdeAllianceVersion") %>' />
                                            </ItemTemplate>
                                            <HeaderStyle HorizontalAlign="Left" Width="11%"></HeaderStyle>
                                        </asp:TemplateField>
                                        <asp:TemplateField HeaderText="Restrict Import Of" ItemStyle-CssClass="centerdata"
                                            HeaderStyle-Width="2%" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="2%">
                                            <ItemTemplate>
                                                <asp:CheckBox ID="chkCheckRestrictImport" runat="server" Checked='<%# Eval("RestrictedForImport")%>' />
                                            </ItemTemplate>
                                            <HeaderStyle HorizontalAlign="Center" Width="2%"></HeaderStyle>
                                            <ItemStyle HorizontalAlign="Center" Width="2%"></ItemStyle>
                                        </asp:TemplateField>
                                        <asp:TemplateField HeaderText="Restrict Upgrade To" ItemStyle-CssClass="centerdata"
                                            HeaderStyle-Width="2%" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="2%">
                                            <ItemTemplate>
                                                <asp:CheckBox ID="chkCheckRestrictUpgrade" runat="server" Checked='<%# Eval("RestrictedForUpgrade")%>' />
                                            </ItemTemplate>
                                            <HeaderStyle HorizontalAlign="Center" Width="2%"></HeaderStyle>
                                            <ItemStyle HorizontalAlign="Center" Width="2%"></ItemStyle>
                                        </asp:TemplateField>
                                    </Columns>
                                </ac:GridViewWithPager>
                            </div>

我的CheckBox控件是这样的:

<asp:CheckBox ID="chkActivateSettings" runat="server" Text="Activate Restriction Settings.">
                                    </asp:CheckBox>

我已经编写了一个隐藏并显示此网格的Jquery代码。但现在我想要的是在取消选中CheckBox时禁用此网格中的控件。所以我想修改这段代码:

$(document).ready(function () {

    if ($('#<%=chkActivateSettings.ClientID %>').is(":checked")) {
        //show the hidden div
        $('#<%=gridVersion.ClientID %>').show("fast");
    }
    else {
        //otherwise, hide it
        $('#<%=gridVersion.ClientID %>').hide("fast");
    }
    // Add onclick handler to checkbox w/id checkme
    $('#<%=chkActivateSettings.ClientID %>').click(function () {

        // If checked
        if ($('#<%=chkActivateSettings.ClientID %>').is(":checked")) {
            //show the hidden div
            $('#<%=gridVersion.ClientID %>').Ena("fast");
        }
        else {
            //otherwise, hide it
            $('#<%=gridVersion.ClientID %>').hide("fast");
        }
    });

});

期待您的平常合作。

1 个答案:

答案 0 :(得分:0)

试试这个:

1)将gridd =“True”添加到gridview标记:

<ac:GridViewWithPager ID="gdvwAllowedVersion" runat="server" Enabled="True" UseCustomPager="True" AllowPaging="True" AutoGenerateColumns="False" Width="50%">

2)使用Jquery的DOM操作方法attr(key, value)来启用/禁用gridview:

$(document).ready(function () {

    // Add onclick handler to checkbox w/id checkme
    $('#<%=chkActivateSettings.ClientID %>').click(function () {

        // If checked
        if ($('#<%=chkActivateSettings.ClientID %>').is(":checked")) {
            //show the hidden div
            $('#<%=gdvwAllowedVersion.ClientID %>').attr("disabled", false);
        }
        else {
            //otherwise, hide it
            $('#<%=gdvwAllowedVersion.ClientID %>').attr("disabled", true);
        }
    });

});