【问题标题】:How to reset the dropdown value to the old value in jqgrid如何在jqgrid中将下拉值重置为旧值
【发布时间】:2014-11-05 09:48:03
【问题描述】:

我有一个包含两个值的简单下拉列表。让我们说 Staus:活动和非活动。 在 onchange 事件期间,我想执行一些验证并在验证失败时恢复。泰语是,如果我从 active-inactive 更改并且我的验证失败,我应该将下拉菜单更改回 active。 到目前为止,我能够通过 editOptions 的 dataevents 选项捕获 on change 事件。 以下是我的代码,感谢您的帮助。

editoptions:{value:{Y:'Active',N:'Inactive'}, dataEvents:[
                             {
                                 type: 'change',
                                 fn: function(e) {
                                 alert("inside change trigger");
                                 $grid.setColProp('Status', { editoptions:{value:{Y:'Active',N:'Inactive'}}});
                                 }
                              }
                         ]}

我还读到我必须设置重新创建表单:true。我也试过了。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    如果可以在开始编辑之前检查验证条件,我建议您考虑使该列不可编辑或只读/禁用。它更清楚地向用户显示该字段可能无法更改。

    或者,如果您使用内联编辑模式或单元格编辑模式(使用var savedRows = $(this).jqGrid("getGridParam", "savedRow")),您可以获得jqGrid 的savedRow 参数。要在表单编辑的情况下获取“旧”数据,您可以使用getGridParamselrow(或者从具有id="id_g" 的表单的隐藏字段中获取所选行的数据。类似@987654327 @) 并使用getRowData/getCell

    【讨论】:

    • 谢谢 oleg,在这种情况下我是否可以禁用下拉选项,除了第一个选项。我将如何在初始阶段将该列设置为只读。
    • @user2375298:不客气!例如,请参阅the answer 以获取相应的演示。可以在beforeShowForm 中测试选定行的Status 并设置disabledreadonly 属性(或readonly="readonly"disabled="disabled" 属性)并将类"ui-state-disabled" 添加到编辑表单行。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多