编辑HTML表格单元格

5

我有一个带有几行的表格... 我想能够选择一行并单击修改,然后应该能够使该行的所有单元格都可编辑...

如何在Javascript中使单元格可编辑?使用Jquery是否更好?

4个回答

11

8
他们首先希望他们的宗教得到认可,现在这些绝地武士还想要自己的桌子!这将会何时结束? - Matt Ellen

4

Here's a quick concept I just worked up for you:

$(function(){
  $("button[name='doModify']").click(function(){
    // disable out modify button
    $(this).attr("disabled","disabled");
    // enable our save button
    $("button[name='save']").removeAttr("disabled");
    // cycle through each row having marked for modification
    $(":checkbox[name='modify']:checked").each(function(){
      $(this).closest("tr").find("td:gt(0)").each(function(){
        // convert each cell into an editable region
        $(this).wrapInner("<textarea name='"+$(this).attr("rel")+"'></textarea>");
      });
    });
  });
});

--

<table border="1" cellspacing="1" cellpadding="5">
  <tbody>
    <tr>
      <td><input type="checkbox" name="modify" /></td>
      <td rel="username[]">jon.doe</td>
      <td rel="information[]">This is my bio.</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="modify" /></td>
      <td rel="username[]">jonathan.sampson</td>
      <td rel="information[]">This is my bio.</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="modify" /></td>
      <td rel="username[]">yellow.05</td>
      <td rel="information[]">This is my bio.</td>
    </tr>
    <tr>
      <td colspan="3" align="right">
        <button name="doModify">Modify</button> 
        <button name="save" disabled="disabled">Save</button>
      </td>
    </tr>
  </tbody>
</table>

他在技术上确实声明想要点击某种“修改”按钮,但在我看来,你的方法更好。yellow-05,这个函数的作用是将你双击的任何表格单元格转换为文本框,所以你需要稍微扩展一下它,使其可以处理整行。 - Mala

4

3
您可以在每个单元格内插入文本框,并将值设置为表格单元格的值。
类似于这样:
$(function(){
        $("#tbl1 tr").click ( function(){
            if ( !$(this).hasClass('clicked') )
            {
                $(this).children('td').each ( function() {
                    var cellValue = $(this).text();
                    $(this).text('').append ( "<input type='text' value='" + cellValue + "' />" );
                });

                $(this).addClass('clicked');
            }
        });
    });
<table id="tbl1">
            <tr>
                <td>1</td>
                <td>4</td>
                <td>3</td>
            </tr>
            <tr>
                <td>4</td>
                <td>5</td>
                <td>6</td>
            </tr>
        </table>

您可以在此处放置更新按钮,然后从文本框中获取值并进行更新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接