javascriptを介してフォーム要素のIDまたは名前を変更すると、それに関連付けられていたjqueryイベントが存在しなくなったことに気づきました。Firefox17とIE10でこれを試しました。これは仕様によるものですか?もしそうなら、それを防ぐ方法はありますか?
更新:例については、 http: //jsfiddle.net/qHH7P/2/を確認してください。
jqueryを介して行を削除するボタンを追加しています。最初の行を削除するときは、2番目の行の要素に新しい名前とIDを付けます。その後、残りの行の削除ボタンはイベントを発生させなくなります。ASP.NET MVCは、バインド時にオブジェクトのコレクションに特定の命名規則を想定しているため、要素の名前を変更する必要があります。そのため、名前を「1」ではなく「0」に変更する必要があります。名前を変更しています
var regexpattern = new RegExp("WorkspaceQuestionSets\\[.+\\]", "g");
$(this).html($(this).html().replace(regexpattern, "WorkspaceQuestionSets[" + index + "]"));
var regexpattern = new RegExp("WorkspaceQuestionSets_.+__", "g");
$(this).html($(this).html().replace(regexpattern, "WorkspaceQuestionSets_" + index + "__"));
ボタンの名前を変更していないことに気づきました。したがって、イベントがなくなったことはさらに意味がありません。しかし、要素の名前を変更するためにコードをコメントアウトすると、イベントは残ります。