【问题标题】:Set jQuery Toggle to be open on ASP.Net Gridview Postback将 jQuery Toggle 设置为在 ASP.Net Gridview Postback 上打开
【发布时间】:2011-05-12 16:29:27
【问题描述】:

我在与 asp.net gridview 结合使用的表上有一个 jQuery 'toggle' 函数。我的 gridview 有分页,当我点击下一页时,它会发回并因此关闭 Toggle/Table - 我需要一种保持打开状态的方法。过去我在使用 Accordion 函数时遇到过类似的问题,但通过这种方法解决了这个问题,并想知道你们中的一个 jQuery/Javascript 天才是否可以提供帮助:

<asp:HiddenField ID="hidAccordionIndex" runat="server" Value="0" />
    <script language="javascript" type="text/javascript">
        $(function () {
            var activeIndex = parseInt($('#<%=hidAccordionIndex.ClientID %>').val());

            $("#accordion").accordion({
                autoHeight: false,
                event: "mousedown",
                active: activeIndex,
                change: function (event, ui) {
                    var index = $(this).children('h3').index(ui.newHeader);
                    $('#<%=hidAccordionIndex.ClientID %>').val(index);
                }
            });
        });
    </script>
    <div id="accordion">
        <h3><a href="#">Table Header 1 here</a></h3>
        <div>
            Some text here
        </div>
        <h3><a href="#">Table Header 2 here</a></h3>
        <div>

这是我当前遇到的问题的代码:

<div class="box grid_16 round_all">
                    <h2 class="box_head grad_colour round_top">Client List</h2> 
                    <a href="#" class="toggle toggle_closed">&nbsp;</a>
                    <div class="toggle_container" style="display:none;">
                        <asp:Label ID="LBLMessage" runat="server" />
                                <asp:GridView ID="gvClients" runat="server" CssClass="static" AutoGenerateColumns="true" AllowPaging="true" Visible="true" />
                    </div>
            </div>

这里是 jQuery:

// Content Box Toggle Config 
        $("a.toggle").click(function(){
            $(this).toggleClass("toggle_closed").next().slideToggle("slow");
            return false; //Prevent the browser jump to the link anchor
        });

提前致谢!

【问题讨论】:

    标签: javascript jquery asp.net vb.net


    【解决方案1】:

    试试这个:

    $(function () {
                $("a.toggle").click(function () {
                    $(this).toggleClass("toggle_closed").next().slideToggle("slow", function () {
                        if($(this).is(':visible')){
                        $('#<%=hidAccordionIndex.ClientID %>').val("1");
                        }
                        else{
                        $('#<%=hidAccordionIndex.ClientID %>').val("0");
                        }
                    });
                    return false; //Prevent the browser jump to the link anchor
                });
                var val = $('#<%=hidAccordionIndex.ClientID %>').val();
                if (val == "1") {
                    $("a.toggle").click();
                }
            });
    
    <asp:HiddenField ID="hidAccordionIndex" runat="server" Value="0" />
    

    更新 1: 检查此test page。 GV 分页不起作用,但它确实模拟了场景。就这个例子来说,让我知道它与您的期望有何不同。 想知道您是否想使用 UpdatePanel,看看是否有帮助。

    【讨论】:

    • 你能解释一下它在什么方面不起作用吗?你有链接吗?
    • 当我点击下一页结果时,切换开关再次关闭,因为回帖已发送。不幸的是,我无法向您展示它仅在我的本地计算机上运行,​​而且我目前无法将其放在实时服务器上 - 如果有帮助,我已将输出的 RAW HTML 粘贴到此处 - pastebin.com/EbuTPpPx
    • 查看我设置的测试页面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多