【问题标题】:Weird issue with JQModal ,JQuery UI Tabs & ASP.NET checkbox listJQModal、JQuery UI 选项卡和 ASP.NET 复选框列表的奇怪问题
【发布时间】:2010-11-10 16:43:50
【问题描述】:

我有一个带有 JQuery UI 选项卡的模式。在其中一个选项卡中有一个 ASP.NET 复选框列表服务器控件。我面临一个奇怪的问题,如果我在 JQModal 参数中设置 toTop:true

    $(document).ready(function() {
  $('#testDiv').jqm({toTop: true});

});

当我在复选框列表上运行服务器端 foreach 时,它总是在所有项目上返回 false。即使用户在屏幕上选择/检查了它们._.

foreach (ListItem li in cbItems.Items)
    {
        if (li.Selected) // <= Always false ???
        {
            DataRow dr = dt.NewRow();
            dr["ID"] = Convert.ToInt32(li.Value.ToString());
            dr["ITEMNAME"] = li.Text.ToString();
            dt.Rows.Add(dr);
        }
    }

从 JQModal 参数中删除 toTop 可以解决问题,但会产生另一个问题,即在 IE7 中,我的 JQ 模态窗口位于模态叠加层的后面,这可能是由于容器 div 具有 CSS position:relative .有什么线索吗?

【问题讨论】:

    标签: asp.net jquery jquery-ui asp.net-2.0


    【解决方案1】:

    我的猜测是,当您设置 toTop 选项时,JQModal 会将包含复选框列表的 div 附加到 BODY 标记而不是其在 DOM 中的正常位置。由于它不再位于 FORM 标记内,因此当您执行回发时,这些值将丢失。

    【讨论】:

    • 你就在那里。关于这个问题的有效解决方案的任何猜测?
    • 您是在单击插入按钮时进行正常回发,还是在使用 updatePanel?
    • 在 tab1 中,我在更新面板中有一个按钮,在标签 2 中,我有一个正常的回发按钮,用于刷新 tab1 上的复选框列表。
    • 至于解决方案,您需要在代码中找到一个可以将对话框 div 重新附加到 FORM 的位置。我不确定执行此操作的确切位置。这是我发现引用您的问题的页面,但它并没有明确说明在哪里做什么(请参阅页面上的最后一条评论):forum.jquery.com/topic/…
    • 感谢您的链接,它解决了一半的问题(复选框列表总是返回 null),现在我的更新面板“插入”外的按钮不运行点击事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2012-10-18
    • 2011-02-24
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多