0

花了将近两天的时间试图弄清楚这个问题。我有带有动态复选框列表(从数据库生成)的模态弹出窗口和模态弹出窗口上的关闭按钮。我想要的是,当用户单击“关闭”按钮时,模式弹出窗口将关闭,但同时我想获取所有选定的复选框值以保存在字符串中。

<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;
     } 

注意 - herechkboxName 是 chkboxss 的名称,


更新的答案:获取变量中所有选定的复选框值并创建 cookie 会话并将选定值设置为它。

查询:

$(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 回答