我正在尝试使用 JQuery 的 .clone() 克隆表单组件(实际上,我正在通过克隆容器元素来克隆字段集合)。一切都很顺利,除了日期字段、组合框不起作用,甚至 minLength 的验证等也不起作用。
顺便说一句,我只是使用 applyTo 将旧的 html 表单字段转换为 ext js 表单字段
我正在尝试使用 JQuery 的 .clone() 克隆表单组件(实际上,我正在通过克隆容器元素来克隆字段集合)。一切都很顺利,除了日期字段、组合框不起作用,甚至 minLength 的验证等也不起作用。
顺便说一句,我只是使用 applyTo 将旧的 html 表单字段转换为 ext js 表单字段
问题是 jQuery clone() 不会克隆与 DOM 元素关联的事件处理程序。但是即使你使用 clone(true),它确实复制了事件处理程序,它仍然不起作用,因为你还需要在 JavaScript 端克隆 Ext 对象。
您确实需要使用 Ext 提供的工具来创建许多类似的控件。一个好的开始是创建自定义的 Ext 组件,然后您可以更轻松地多次实例化。
首先,您可以尝试使用
.clone(true)
所以一个元素的所有事件处理程序都会被复制。除此之外,我怀疑 Extjs 在构建它的控件时会做一些其他时髦的事情,因此这可能只是让它工作的第一步。在 extjs 论坛上快速环顾四周,我没有看到很多关于克隆小部件的信息。