jqGrid使用formedit编辑基于另一个字段的值禁用字段
当用户在jqGrid中单击Edit时,打开的表单有几个列表框和文本框。根据列表框中的值,在加载表单时,必须禁用几个文本框或将其设置为只读jqGrid使用formedit编辑基于另一个字段的值禁用字段,jqgrid,Jqgrid,当用户在jqGrid中单击Edit时,打开的表单有几个列表框和文本框。根据列表框中的值,在加载表单时,必须禁用几个文本框或将其设置为只读 我在listbox上为onChange事件做了一件工作,将文本框切换为禁用/启用,但我在表单加载上很难做到这一点。我尝试使用aftershowform,它已经有了一个事件处理程序,所以我创建了另一个事件,比如aftershowform2,并附加了这个事件和eventhandler。但问题是,列表框是使用Ajax调用(editoptions的dataurl)动态
我在listbox上为onChange事件做了一件工作,将文本框切换为禁用/启用,但我在表单加载上很难做到这一点。我尝试使用aftershowform,它已经有了一个事件处理程序,所以我创建了另一个事件,比如aftershowform2,并附加了这个事件和eventhandler。但问题是,列表框是使用Ajax调用(editoptions的dataurl)动态加载的,在使用选项填充这些列表框之前,会触发aftershowform。加载列表框后是否会触发任何不同的事件?整个应用程序是框架驱动的,很难粘贴代码。我看到了许多实现需求的方法 在我看来,第一个也是最好的方法是使用带有
类型的dataEvents
:“change”
(参见答案作为示例)。相应的代码可以是
editoptions: { dataUrl:...,
dataEvents: [
{
type: 'change',
fn: function(e) {
var v=$(e.target).val();
alert(v); // do something with selected item value
}
}
]
}
从服务器成功返回select
contain后,将绑定到dataEvents
定义的函数
另一种方法是修改当前实现,以便将替换为(请参见代码模板)。我尝试了更改事件,但在加载表单时不会触发该事件。正如我前面所说的,更改事件在更改列表框中的选项时触发。@anamar:如果它在代码中不起作用,您应该在问题后面加上完整的代码。如果我能重现你的问题,我会尽力帮助你。