当用户点击jqGrid中的Edit时,打开的表单会有一些列表框和文本框。根据列表框中的值,必须禁用几个文本框或将其设置为仅在表单加载时读取。
我在列表框上为onChange事件工作,将文本框切换为禁用/启用,但我很难在表单加载上执行此操作。我尝试使用aftershowform,它已经有一个事件处理程序,所以我创建了另一个事件,例如aftershowform2并附加了这个事件,并且eventhandler触发了。但问题是在使用选项填充这些列表框之前,使用Ajax调用(editoptions数据)和aftershowform fires动态加载列表框。列表框加载后是否会触发任何不同的事件?整个应用程序是框架驱动的,很难粘贴代码。
答案 0 :(得分:1)
我看到了很多方法可以用来实现您的要求。
我认为第一个也是最好的一个是dataEvents
type:'change'
与editoptions: { dataUrl:...,
dataEvents: [
{
type: 'change',
fn: function(e) {
var v=$(e.target).val();
alert(v); // do something with selected item value
}
}
]
}
的使用(请参阅editoptions答案)。相应的代码可以是
dataEvents
select
定义的函数绑定将在成功返回服务器的{{1}}包含之后。
另一种方法是修改您当前的实现,以便将this替换为jQuery.bind(请参阅代码模板jQuery.live)。