2016-06-22 7 views
1

私は剣道入力を含むdivを動的に作成できるようにするアプリケーションがあります。そうするために、私は一種のテンプレートとして使用する複数の剣道入力を含むdivを持っています。ユーザーがページにセクションを追加することを決めたら、jquery.clone()を使ってdivをクローンします。 UIではすべてがうまく見えますが、剣道入力はHTMLで一度しか初期化されずにコピーされるため、入力は再構築されないため、初期IDは一意ではなく、入力は機能しません。剣道入力を含むクローニングdiv

私は

var $kendoInputs = $$(".draggableContainer .k-input"); 
for (var j = 0; j < $kendoInputs.length; j++) { 
    if ($($kendoInputs[j]).attr("id")) { 
     var newid = "newid" + j; 
     $($kendoInputs[j]).attr("id", newid).attr("name", newid); 
    } 
} 

をすることではなく、入力は、すでにこの時点でIDを変更することは無用である、初期化されているので、プログラムでこれを修正しようとしました。剣道入力のIDを変更して再構築する方法はありますか?

事前にテキストと感謝の長いブロックのため申し訳ありません

答えて

1

これはほとんどがあります:http://dojo.telerik.com/@Stephen/EWEna

はちょうどベース(新しいIDを持つ)剣道要素の入力の代わりに、クローニング試しください剣道が加えるすべての要素。 元のウィジェットの型とオプションを取得し、元のオプションを持つ元の型として新しい要素を初期化します。

var originalElement = $("#" + originalID); 
var originalWidgetType = "kendo" + kendo.widgetInstance(originalElement).options.name; 
var originalWidget = originalElement.data(originalWidgetType); 

element[originalWidgetType](originalWidget.options); 

私の道場の例が近隣にありますが、何らかの理由でクローン化されたDatePickersは広すぎです...と私はすべての可能な要素をテストしていませんが、私はそれがスタートとして使用することができると思い。

EDIT

は、私はそれが良いだろうように思える剣道MVVMを使用して、この手法を見つけた:http://jsfiddle.net/krustev/U6nSv/

これは、(クレジットする方法がわからない)私の解決策ではありません。

このテクニックを使用するように更新された元の例です:http://dojo.telerik.com/@Stephen/aquRE

関連する問題