如何在jqgrid中将下拉值重置为旧值

如何在jqgrid中将下拉值重置为旧值,jqgrid,Jqgrid,我有一个简单的下拉列表,其中有两个值,比如Staus:active和inactive。 在onchange事件期间,我希望执行一些验证,如果验证失败,则返回。泰国语的意思是,如果我从“活动-非活动”更改,并且验证失败,我应该将下拉列表更改回“活动”。 到目前为止,我能够通过editOptions的dataevents选项捕获on change事件。 下面是我的代码,谢谢你的帮助 editoptions:{value:{Y:'Active',N:'Inactive'}, dataEvents:[

我有一个简单的下拉列表,其中有两个值,比如Staus:active和inactive。 在onchange事件期间,我希望执行一些验证,如果验证失败,则返回。泰国语的意思是,如果我从“活动-非活动”更改,并且验证失败,我应该将下拉列表更改回“活动”。 到目前为止,我能够通过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。我也试过了

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


或者,如果使用带var savedRows=$this.jqGridgetGridParam,savedRow的内联编辑模式或单元格编辑模式,则可以获取jqGrid的savedRow参数。要在表单编辑时获取旧数据,您可以使用getGridParam和selrow或从id=id\g的表单隐藏字段获取所选行的数据。类似var serRowId=$id_g.val;通过使用getRowData/getCell.

谢谢oleg,我是否可以在这种情况下禁用除第一个选项之外的下拉选项。在初始阶段,我将如何使该列成为只读。@user2375298:不客气!有关相应的演示,请参见示例。可以在beforeShowForm中测试所选行的状态,设置disabled and readonly属性或readonly=readonly and disabled=disabled属性,并将class ui state disabled添加到编辑表单的行中。