【问题标题】:jqgrid dynamically change z-index of add formjqgrid动态改变添加表单的z-index
【发布时间】:2012-09-28 09:13:59
【问题描述】:

我有一些带有复杂警报对话框系统的 jqgrid 的工作区。我有一个关于 addForm z-index 的问题,我不能像其他对话框那样动态地改变它。 我有一个变量

increaseZIndex = 2000;

我在每次创建对话框时都会增加:

increaseZIndex++;

但仅在 addForm zIndex 属性中,此值不会改变。我想网格的添加表单对话框创建一次,然后它只是隐藏起来,而不是在每次新插入时创建为新的。 代码如下:

jQuery("#mygrid").jqGrid('navGrid','#pmygrid', {edit:false,add:true,del:false,search:false,refresh:false}, //options
                        {zIndex:1500,recreateForm:true}, // edit options
                        {zIndex:(increaseZIndex++),height:280,recreateForm:true, reloadAfterSubmit:true,url:"/myUrl.do",

等等…… 我怎样才能强制这个值像其他值一样动态变化?谢谢!

【问题讨论】:

    标签: javascript jquery jqgrid z-index


    【解决方案1】:

    首先,您应该为添加和编辑选项添加recreateForm: true。在这种情况下,添加和编辑对话框将是新创建的,而不是隐藏/显示。

    在我的所有项目中,我通过设置$.jgrid.edit 的属性将recreateForm: true 更改为默认设置(有关相应的代码示例,请参见the answeranother one)。

    【讨论】:

    • 我已经尝试设置 recreateForm:true 但 z-index 值仍然没有改变,请参阅我的编辑
    • @Franky:您发布的代码与上下文无关。 recreateForm:true 始终是必需的。 zIndex:(increaseZIndex++) 部分只有在您重新创建整个网格时才能工作(例如,尊重GridUnload)。您可以尝试交替使用将pAdd 对象定义为var pAdd = {zIndex:1000,height:280,recreateForm:true, ...} 并使用jQuery("#mygrid").jqGrid('navGrid',...,pAdd, ...);。因为添加参数是不是匿名的,你可以用pAdd.zIndex = 1500;改变它
    • 我的 addOptions 充满了诸如 beforeShowForm、afterShowForme、afterComplete 之类的选项,大约 200 行代码我必须将所有代码放入一个数组中???它会在不重新加载网格的情况下工作吗?
    • @Franky: pAdd 应该定义为 object (var pAdd = {...}) 而不是 array (@987654335 @)。当然,对象可以包含editGridRow 允许的方法(beforeShowForm 等)(参见the documentation)。我不能保证 您的代码 将在案例中工作,因为您没有发布它,但通常代码可以在案例中工作而无需重新创建整个网格。
    • 经过大量工作成功。感谢 Oleg 在 jqgrid 中一如既往的 n.1!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多