0

我使用 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

4 回答 4

0

With only jQuery you can't.

You need to save your change on a database for example.

Edit : Or you can use php, $_SESSION, $_COOKIE .... I don't know, you have lots of way, but not with only jQuery.

于 2012-07-03T15:10:34.760 回答
0

这将取决于您从哪里获取数据以首先创建表。如果您要从数据库中检索数据并将其粘贴到 tablem 中,则需要通过 ajax 回调将数据插入到数据库中。

有关详细信息,请参阅

于 2012-07-03T15:12:46.780 回答
0

这只是一个建议,但您可以尝试将新行存储在 cookie 中,如下所示:
如何在 jquery cookie 中存储数组?

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

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

查看@Kell 回答的文章,这真的很容易实现:)

于 2012-08-30T11:55:06.657 回答
0

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

于 2012-07-03T16:17:02.493 回答