jQuery:将表行更改为表单

时间:2011-07-11 09:43:58

标签: javascript jquery forms html-table

jQuery中将特定表行更改为表单的最佳方法是什么?

例如改变:

<table>
    <tr><td><a href="edit me">edit</a></td><td>first row</td></tr>
    <tr><td><a href="edit me">edit</a></td><td>some row</td></tr>
    <tr><td><a href="edit me">edit</a></td><td>last row</td></tr>
</table>

进入:

<table>
    <tr><td><a href="edit me">edit</a></td><td>first row</td></tr>
    <tr>
        <form>
            <td><a href="edit me">edit</a></td>
            <td><input type='text' name='a' value='b'/></td>
        </form>
    </tr>
    <tr><td><a href="edit me">edit</a></td><td>last row</td></tr>
</table>

更新:我们最终使用的html:

<form>
    <table>
        <tr>
            <td><img class="editRow"></td>
            <td class="field">field to know</td>
        </tr>
    </table>
</form>

和jQuery代码:

$( ".editRow" ).click( function() {
    var rowToEdit = $(this).parent().parent();
    var field = rowToEdit.children(".field")
    rowToEdit = .replaceWith( "<td></td>\
        <td>\
            <input type='hidden' value='"+field+"'>\
        </td>"
});

2 个答案:

答案 0 :(得分:0)

尝试功能.wrap()。有关详细信息,请参阅here

答案 1 :(得分:-2)

有一个jquery函数可以完全按照您的想法进行操作,基本上它允许您创建一个表格,然后每个单元格都可以编辑,因此您不必仅使用谷歌。你会找到它