Pregunta

Estoy intentando clonar componentes de formulario utilizando .clone () de JQuery's (en realidad, estoy clonando una colección de campos clonando el elemento contenedor). Todo funcionó bien, excepto que el campo de fecha, los cuadros combinados no funcionan, incluso la validación de minLength, etc. tampoco funciona.

Por cierto, solo estoy transformando un antiguo campo de formulario html en campos de formulario ext js usando applyTo

¿Fue útil?

Solución

El problema es que jQuery clone () no clona los controladores de eventos asociado a los elementos DOM. Pero incluso si usas clone (true), eso copia los controladores de eventos, todavía no funciona, porque usted también Necesito clonar el objeto Ext en el lado de JavaScript.

Realmente necesitas usar las herramientas provistas por Ext para crear muchos controles similares. Un buen comienzo es crear componentes Ext personalizados que luego puedes instanciar más fácilmente varias veces.

Otros consejos

Para empezar, puedes intentar usar

.clone(true) 

para que todos los controladores de eventos para un elemento se copien. Aparte de eso, sospecho que Extjs hace otras cosas extravagantes cuando construye sus controles, por lo que este es probablemente el primer paso para que funcione. Mirando a mi alrededor rápidamente en los foros de extjs, no veo mucha información sobre la clonación de widgets.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top