2009-01-07 51 views
1

我想克隆表單組件使用JQuery的.clone()(實際上,我通過克隆容器元素克隆字段的集合)。除了datefield,comboboxes無法正常工作,即使對minLength等的驗證也無法正常工作,一切都運行良好。使用JQuery克隆ExtJS組件

順便說一句,我只是一個改造舊的HTML表單字段使用applyTo

回答

2

問題是,jQuery的克隆()不克隆與DOM元素相關聯的事件處理程序 。但即使使用克隆(true), 也會複製事件處理程序,但它仍然不起作用,因爲您還需要在JavaScript端克隆Ext對象。

您確實需要使用Ext提供的工具來創建許多類似的控件。一個好的開始是create custom Ext components, ,你可以更容易實現多次instanciate。

1

一開始的Ext JS表單字段您可以嘗試使用

.clone(true) 

因此,所有事件處理程序的元素被複制。除此之外,我懷疑Extjs在構建控件時做了一些其他時髦的事情,因此這可能只是讓它工作的第一步。在extjs論壇上快速查看我沒有看到關於克隆小部件的大量信息。