我有一个 Web 应用程序,它使用 jQuery 将行附加到表的末尾。每行都有一个文本区域来做笔记,还有一个编辑按钮,它会弹出一个窗口,以便输入更多信息。这样做的代码看起来像这样:http: //jsfiddle.net/H3m4z/
这是实际代码的精简版本,因为实际代码涉及 AJAX 调用,以便在添加时将每个表行中的数据保存到数据库中。rowID 在正确的脚本中是唯一的,因此我可以通过“notes [rowID]”引用每一行的文本区域。
当用户在编辑弹出窗口中输入更多信息时,这就是我所做的。输入的任何新注释都会保存到数据库中,但为了让 Web 应用程序感觉更“活跃”和响应,新注释会从编辑窗口复制到父表中相应的注释字段,如下所示:
window.opener.$('#notes[' + rowID + ']').text(newnotes);
这对于加载父页面时已经存在的行非常有效,例如我的示例中的第一个表格行。但是它不适用于由 jQuery 动态添加的表行。我猜答案涉及 live(); 不知何故,但我不确定在哪里或如何。