2009-01-20 79 views
14

我有一个任意列和行的表格。这个事实并不重要,但我想要做的就是开发一个函数,将一行(或多行)转换为一系列包含表中数据的文本输入(如果没有数据,则为空)。jQuery - 内联编辑表格行

我找不到任何人明确这样做的例子,所以我想知道这里的人们认为是找到解决方案的最佳方式。

回答

30

遍历行中的表格单元格,并用文本输入的内容替换:

function editRow(row) { 
    $('td',row).each(function() { 
     $(this).html('<input type="text" value="' + $(this).html() + '" />'); 
    }); 
} 

您需要将相关行/列到功能明显传递。像Eran说的

+0

如果单元格内容有html实体会发生什么? – 2009-01-21 03:21:49

0

。但是,您也可以查看诸如contenteditable和designMode等属性,但我不确定这些属性的支持程度如何。

一旦你用文本输入替换了内容,你可以使用jquery插件toggleEdit来管理在预览模式和编辑模式之间切换它们。