フォームに動的フィールドを追加できる機能を開発しようとしています。これで、既存のフィールドを複製してから複製します。これがコードです
/**
* This function is used to dynamically add or remove rows from an unordered List
**/
//For Dynamically Adding and Deleting the rows and columns
$('.addRow').click(function (e) {
// This gets the number of textboxes
var curMaxInput = $(this).closest('ul').find('input:text').length;
//Clones the first row.
var html = $(this).closest('ul').first().clone(true);
//for every textbox the
html.find('input:text').each(function () {
$(this).attr('id', $(this).attr('name') + '[' + (curMaxInput++) + ']');
});
//Converting the '+' sign to '-'
html.find('span').removeClass('addRow').removeClass('ui-icon-plus').addClass('ui-icon-minus').addClass('removeRow');
//Adding the onClick event to remove this row
html.find('span').on('click', function () {
$(this).parent().remove();
return false;
});
// appending the html to the list and thus making it dynamic
$(this).closest('ul').append(html.find('li').first());
//avoiding Post backs if any
return false;
});
</ p>
複製することはできますが、イベントのクローンを作成して、生成された新しい動的行フィールドにアタッチすることはできます。しかし、今、私がコピーを削除しようとすると、それは削除されません。さらに詳しい情報が必要な場合はお知らせください。皆さんがより多くの情報を必要とする場合に備えて、ここにjsfiddlerリンクがあります http://http://jsfiddle.net/jshah11/QavKj/3/
コメントに従って関数を更新し、jsfiddlerを更新しました