0

この問題を解決するためにほぼ 2 日を費やしました。動的なチェックボックス リスト (データベースから生成) を含むモーダル ポップアップと、モーダル ポップアップの閉じるボタンがあります。私が欲しいのは、ユーザーが「閉じる」ボタンをクリックすると、モーダルポップアップが閉じられますが、同時に、選択したすべてのチェックボックスの値を取得して文字列に保存したいということです。

<asp:Button ID="btnHide" runat="server" Text="Close" OnClick="btnHide_Click" OnClientClick="HideModalPopup()"/>

protected void btnHide_Click(object sender, EventArgs e)
        {
           string names=checkCheckboxes(); //calling WORKING function which reutrns all selected checboxes from modal popup in a string, splited by comma
           Response.Write(names); //trying to write 'names' variabile which contains all selected checboxes on screen
        }

jQuery関数:

function HideModalPopup() {
    $find("mpe").hide();
    return false;
}

問題は、閉じるボタンをクリックすると、モーダル ポップアップが消えたが、btnHide_Click メソッドの変数「名前」に値が保存されないことです。モーダルポップアップからこの関数に選択されたチェックボックスを取得するにはどうすればよいですか? このコードの何が問題になっていますか?

私を助けてください。

4

1 に答える 1

1

ajax 呼び出しで実行できます。その前にモーダルボックスを非表示にするクライアント側関数で、.each() jquery n を使用してすべてのチェックボックスのチェックされた値を取得し、ajax リクエストを呼び出してデータベースに保存します。

function HideModalPopup() { 
     var fetchAllChkbox= $("input[name=chkboxName]:ch ecked").map( function () {return this.value;}).get().join(",");

         $find("mpe").hide(); 
        // $.ajax  call to save to database etc
        return false;
     } 

注 - ここで、chkboxName は chkboxss の名前です。


更新された回答:変数で選択されたすべてのチェックボックスの値を取得し、Cookie セッションを作成して、選択した値をそれに設定します。

JQuery:

$(document).ready(function () {
   $("#clkme").click(function () {
        var getValue = ""; // get vall checkbox selected values
        $("[id*=CheckBoxList1] input:checked").each(function () {
        var Value = $(this).val();
        getValue += Value + ",";
        });
       $.cookie('your_cookie_name', getValue); // set cookies
       alert($.cookie('your_cookie_name')); // read cookies and alert it
    });
  });

HTML マークアップ:

<asp:CheckBoxList ID="CheckBoxList1" runat="server">
</asp:CheckBoxList>
  <div id="clkme">CLICK ME</div>

注: この cookie.js をインポートするだけですhttps://github.com/carhartl/jquery-cookie

于 2013-09-29T18:51:06.257 に答える