gpt4 book ai didi

javascript - 为什么 jqGrid 字段在表单编辑中隐藏,即使 "edithidden:true"包含在 colModel 中?

转载 作者:行者123 更新时间:2023-12-02 13:45:21 25 4
gpt4 key购买 nike

使用 jqGrid 4.3.1,我有一些隐藏在 GridView 中的列,但我希望它们在编辑表单中可见且可编辑。

根据documentationcolModel 模块的 editrules 选项的 edithidden 子选项实现了我想要的确切行为(强调我的):

This option is valid only in form editing module. By default the hidden fields are not editable. If the field is hidden in the grid and edithidden is set to true, the field can be edited when add or edit methods are called.

但是,当我实现以下代码时:

{name:'AcmeCoValue',editrules: {edithidden: true}, editable: true, show:'AcmeCovalue', hidden:true, fixed:'true', width: 65},

编辑表单的渲染 HTML 显示此字段为:

<tr style="display:none" rowpos="7" class="FormData" id="tr_RedCoValue">

这与我设置时的行为相同:

editrules: {edithidden: false}

在我看来,edithidden 参数无效。

我发现使其可见的唯一方法是使用 formoptions:{rowpos:7} 选项将字段强制置于可见行上,这样即使在 >edithidden: false.

为什么edithidden似乎没有任何效果?

这是我继承的遗留代码。有什么我应该检查的,这可能会覆盖 edithidden 的预期行为?

我认为我可以在Javascript中手动实现我想要的行为,但为了简单性和可维护性,我更喜欢用“jqGrid”方式来实现,而且我还担心为什么它不起作用,以及可能存在哪些其他问题与此相关。

最佳答案

使用

editrules: {edithidden: true}, editable: true, hidden: true

使列可编辑,但在“可编辑”下,意味着该列中的数据将仅发送到服务器。因为 jqGrid 将数据从表单发送到服务器,所以它用隐藏行填充表单,但该行保持隐藏状态。

您可以在 beforeShowForm 回调中包含 $("#tr_RedCoValue").show() (请参阅 here )来解决问题。

无论如何,我强烈建议您升级复古版本 4.3.1,您可以使用该版本free jqGrid 4.13.6,您可以从 CDN 使用它(请参阅 the wiki articlethe get started documentation )。 4.3.1 版本已于 5 年前发布。那是 Chrome 16、Firefox 8 和 IE9 的时代。现在使用 Chrome 55、Firefox 50.1、Microsoft Edge 38、IE11。不难理解,jqGrid 4.3.1 无法在现代 Web 浏览器以及更新版本的 jQuery 和 jQuery UI 中正常工作。

关于javascript - 为什么 jqGrid 字段在表单编辑中隐藏,即使 "edithidden:true"包含在 colModel 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41445656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com