0

別のチェックボックスがチェックされているときに、ページの完全なポストバックを行うことなく、既存の asp:checkboxlist コントロールに新しいチェックボックス項目を追加する方法があるかどうか疑問に思っています。それがjavascript、jquery、ajaxのいずれであっても。どうすれば(もしあれば)このようなことができるのか疑問に思っています。

私はいくつかの調査を行ってきましたが、asp:UpdatePanel を使用して部分的なポストバックを実行できるようです。私はこれまでにこれらのいずれかを使用したことがありません。誰かがどのように使用できるかの例を持っていますか? これが私が持っているものですが、まだ完全なポストバックを行っています

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <tr>
           <td width="50%">
                <asp:CheckBox runat="server" ID="chkEnglish" Font-Bold="true" TextAlign="Right" Text=" English" />
           </td>
           <asp:Panel runat="server" ID="pnlTopLanguages">
           <td rowspan="3" valign="top">
               <asp:CheckBoxList ID="chkTopLanguages" CssClass="cb chkTopLangs" TextAlign="Right" runat="server" />
               <asp:TextBox runat="server" ID="txtOtherLanguages" onkeyup="SetButtonStatus(this)" onclick="return clearLanguageSearchText()" Text="Other Languages..."></asp:TextBox>
               <asp:Button runat="server" ID="btnAddLang" Text="Add" OnClientClick="return CopyOtherLangs()" Enabled="false" /><br /><br />
               <asp:CheckBox runat="server" ID="chkManyOtherLanguages" CssClass="cb" Font-Bold="true" Text="Many other languages" />
               <cc3:AutoCompleteExtender ID="aceSearch" runat="server" MinimumPrefixLength="1" TargetControlID="txtOtherLanguages"
                                                                                        ServicePath="~/controls/wsCommunity.asmx" ServiceMethod="GetLanguageCompletionList"></cc3:AutoCompleteExtender>
           </td>
           </asp:Panel>
         </tr>
        </ContentTemplate>
     </asp:UpdatePanel>
4

1 に答える 1

2

Adilsの回答から構築...別のチェックボックスにチェックボックスを追加するには、次を使用できます。

$(".classOfCheckboxList").change(function() {
    $(this).append("<input type='checkbox' id='newbox' class='currentclass' value='someval' />");
});

Adil が言ったように、この新しい動的に追加されたボックスは、コード ビハインドではアクセスできません。

于 2013-04-12T17:35:49.937 に答える