使用jQuery向表添加了行,但添加的行随浏览器刷新而消失

时间:2012-07-03 15:07:23

标签: jquery html html-table row

我使用jQuery将行添加到html表中,但是当我刷新浏览器时,行会消失。如何让行保留?

<TABLE id="dataTable" width="100%" align="center">
    <TR align="center" border="1">
        <TH></TH>
        <TH>ID </TH>
        <TH>Name</TH>
        <TH>Status</TH>
    </TR>
    <TR align="center">
        <TD><INPUT type="checkbox" name="chk"/></TD>
        <TD> 1 </TD>
        <TD> <INPUT type="text" value="Submission 1" /> </TD>
        <TD>Working version</TD>
    </TR>
</TABLE>

<script type="text/javascript">

$(document).ready(function(){
$('#createNew').click(function() {
    var table = document.getElementById('dataTable');

    var rowCount = table.rows.length;

    $('#dataTable tr:last').after('<TR align="center"><TD><INPUT type="checkbox" name="chk"/></TD><TD>'+ rowCount + '</TD><TD> <INPUT type="text" value="Submission 1" />   </TD><TD>Working version</TD></TR>');

4 个答案:

答案 0 :(得分:0)

只有jQuery你不能。

例如,您需要在数据库中保存更改。

编辑:或者你可以使用php,$ _SESSION,$ _COOKIE ....我不知道,你有很多方法,但不是只有jQuery。

答案 1 :(得分:0)

这取决于您从何处获取数据以创建表格。如果要从数据库中检索数据并将其粘贴到tablem中,则需要使用jquery通过进行ajax回调将数据插入数据库。

请参阅this for details

答案 2 :(得分:0)

您可以使用.data函数将数据绑定到表中,然后尽可能多地复制它? .data会阻止内存泄漏的数据,您可以在api.jquery.com

检查相同内容

答案 3 :(得分:0)

这只是一个建议,但您可以尝试将新行存储在cookie中,如下所示:
how to store an array in jquery cookie?

这种方式在页面刷新之后您将获得您的行(当然,您需要读取cookie并在再次加载页面时添加行)。

但最好的解决方案是使用服务器端代码将新行存储到数据库中,并在每次刷新页面时加载它们,这样每个访问该页面的人都可以看到新记录(或仅针对特定用户如果您要添加用户标识,但这有点不对您的问题。)

从@Kell回答检查文章,这很容易实现:)