【问题标题】:Jquery- fetch checkbox selected values and save it to cookies at modal close button clickJquery-获取复选框选定的值并在模式关闭按钮单击时将其保存到 cookie
【发布时间】:2013-09-29 18:33:51
【问题描述】:

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

<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 方法中的变量“名称”。如何从模式弹出窗口中获取选定的复选框到此功能?这段代码有什么问题?

请帮帮我。

【问题讨论】:

    标签: jquery asp.net modalpopups


    【解决方案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 会话并为其设置选定的值。

    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

    【讨论】:

    • 我需要将“名称”变量写入 cookie“通过”方法 btnHide_Click。有可能吗?
    • 是循环复选框并获取值保存在变量中或设置为隐藏字段。这可以在客户端完成,稍后如果您可以使用 ajax 调用保存到数据库,在 ajax 中您可以将这些参数 amd 传递到服务器端 getthose 值
    • 好的,现在我需要弄清楚 checbox 名称,因为现在每个 checbox 都有不同的名称,因为 checboxlist。第一个复选框 - ctl00$CheckBoxList1$1, second-ctl00$CheckBoxList1$2, etc..
    • 无论如何,当我得到这个 var fetchAllChkBox 时,我怎样才能把这个值写入 cookie?我不想在 jquery 中包含更多插件..
    • 您可以使用 jQuery 获取选中的复选框值。你可以在这里找到一个例子techbrij.com/checkboxlist-jquery-asp-net-operations
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2019-04-26
    • 2011-10-24
    • 1970-01-01
    • 2021-05-17
    • 2017-08-22
    相关资源
    最近更新 更多