Gridview 更新按钮折叠 jQuery 触发器

Posted

技术标签:

【中文标题】Gridview 更新按钮折叠 jQuery 触发器【英文标题】:Gridview Update Button Collapse jQuery Trigger 【发布时间】:2011-12-30 07:27:25 【问题描述】:

我当前的项目有问题。我正在制作一个管理员页面,用户可以在其中编辑网站上的文本。它全部收集在 1 页上并插入到 jQuery 中,如本页所示:

http://www.sohtanaka.com/web-design/easy-toggle-jquery-tutorial/

在我的 Gridview 中,我有更新和删除按钮(从我正在使用的数据集生成的按钮),但是当我单击“更新”时,jQuery 触发器会折叠,因此,我必须再次打开触发器才能进行编辑地区。

当我点击更新按钮时,是否有可能让 jQuery Trigger 保持打开?

我相信这是因为回发,所以我一直在研究“如何防止回发”,但我能找到的最多答案是如何防止 ASP:BUTTON 上的回发 - 这不是我的情况 :)

我不确定是否应该输入整个代码,因为我认为那些 Gridview 和数据源很长。

【问题讨论】:

【参考方案1】:

此代码(来自您链接的教程)在页面加载时折叠容器:

$(".toggle_container").hide();

您需要通过某种方式知道页面加载的原因是因为该页面正在执行回发。一种方法是在您的页面上有一个asp:HiddenField 字段,然后如果您正在进行回发,则将其值设置为“True”,否则设置为 false。你可以在你的 Page_Load 方法(在后面的代码中)这样做:

Page_Load (Object source, EventArgs e)

    if(Page.IsPostBack)
    
        myHdnField.Value = "True";
    
    else
    
        myHdnField.Value = "False";
    

然后,您只需要在您的 javascript 中检查它来决定是否折叠容器。 编辑:根据我们的 cmets,您可能需要等待 DOM 准备好。这里我使用 jQuery 来检查(我也添加了对 jQuery 的引用)

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
    jQuery(function() 
        if(document.getElementByID('<%= myHdnField.ClientID %>').value == "False")
        
            $(".toggle_container").hide();
        
    );
</script>

【讨论】:

嘿 Jadarnel27,我按照你的建议做了,发现容器一直打开,就好像 jquery 根本不存在一样。 @MikeB 我的错误,我使用= 而不是== 在那个javascript sn-p 中进行比较。试试更新后的代码,看看是否适合你。 干杯 Jadarnel,我想我可能在这里做错了,因为我缺乏知识;)但是我已经在 page_load 中输入了代码隐藏。但是javascript有点混乱,我应该用你的简单覆盖我的javascript吗? :) @MikeB 正确!只需用底部的示例覆盖您的 javascript,应该 这样做。另外,请确保您已将 asp:HiddenField 添加到页面 =) 干杯哥们,我试图用你的覆盖我现有的 Javascript,但 jQuery 现在保持打开状态。我不知道它是否有帮助,但您可以在此处查看我的 Default.aspx 和 Default.aspx.cs 文件:www.Sp34k.com/***/Default.aspx 和 ***/Default.aspx.cs - 不确定是什么原因这个问题,我做的一切都是正确的(或者我认为呵呵)。

以上是关于Gridview 更新按钮折叠 jQuery 触发器的主要内容,如果未能解决你的问题,请参考以下文章

使用单独的按钮在 JQUERY Mobile 中触发可折叠

带有可扩展可折叠行html的gridview

单击导航条折叠/关闭

MUI折叠面板accordion中有个按钮,点击触发了折叠面板的事件

Gridview 行命令事件未使用 jquery mobile 触发

单击按钮时,如何触发 jquery datatables fnServerData 通过 AJAX 更新表?