0

CheckBox と gridview があるフォームがあります。CheckBox のチェックを外すと、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");
        }
    });

});

平素より格別のご愛顧を賜り、誠にありがとうございます。

4

1 に答える 1

0

これを試して:

1) Enabled="True" を gridview マークアップに追加します。

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

2) Jquery の DOM 操作メソッドattr(key, value)を使用して、グリッドビューを有効/無効にします。

$(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);
        }
    });

});
于 2012-04-18T11:33:49.690 に答える