【问题标题】:jQuery - Reload tablejQuery - 重新加载表
【发布时间】:2010-10-27 15:07:56
【问题描述】:

我正在尝试重新加载一个同样由 PHP 生成的表。

该表有一个 ID:#bookmarks

用户按下按钮后,表格应重新加载内容 + 他们刚刚添加的数据。我有点困惑,因为我不知道如何从 PHP 结果中发送所有数据。

【问题讨论】:

    标签: php jquery dynamic reload


    【解决方案1】:

    这是假设你的 PHP 为表格返回了一个准备好注入的 HTML 代码:

    $("#update_button").click(function(){
        $("#mytable").load("/tools/getTable.php")
    })
    

    在您的页面中,您需要这样的 DIV 占位符:

    <div id="mytable"></div>
    

    而您的 getTable.php 需要像这样回显 html:

    <table>
      <tr>
        <td>col1<td>
        <td>col2<td>
      <tr>
    </table>
    

    【讨论】:

    • 我真的不能这样做,因为还有其他功能需要表格在那里。
    • James 但是表格会在那里,即使在第一次请求时,您也可以在文件中执行 ,当您打开页面时,您的表格将被加载,并使用 AJAX 动态获取它
    【解决方案2】:

    点形式:

    • 通过 AJAX 请求将用户数据提交回 PHP 页面。 (查看 jQuery 表单插件)
    • PHP 页面应该接受并验证数据,将其插入数据库,然后以某种格式将响应发送回页面(我推荐使用 JSON,使用 php 函数 json_encode.
      • 响应应该是“拒绝”或“接受”,并将用户数据返回给他们,并根据您自己的系统要求进行清理。
    • 然后在 AJAX 成功回调方法中,使用 jQuery 将数据追加到表中,或者给他们一条消息告诉他们为什么它被拒绝。

    【讨论】:

    • 我不使用 JSON 来生成我的表格,我发现这是一个可以轻松跳过的额外步骤。
    • 所以你在PHP的服务器端生成它?我认为那里没有太大区别,除了:a)要发送的数据更多,b)您将表示逻辑(html标签)放在数据层(php)中。
    【解决方案3】:

    有关使用 jQuery 的具体帮助,请查看 jEditable 插件,该插件旨在提供就地编辑数据的能力。还有关于如何收集和保存数据的说明。

    【讨论】:

      【解决方案4】:

      当用户按下按钮时,您应该调用用于加载表格的代码。 数据可能是一开始的数据+用户添加的数据。或者可能会从服务器重新检索数据,具体取决于您的应用程序的工作方式。

      更多信息可能会澄清问题,因此我们可以给出更具体的答案。

      【讨论】:

        【解决方案5】:

        表格是使用这个生成的:

        <table id="bookmarks">
                <thead>
                    <tr class="table-top">
                        <th>Thumbnail</th>
                        <th>Title/Description</th>
                        <th>Tags</th>
                        <th>Action</th>
                    </tr>
                </thead>
                <?php
                $hID = userToID($_SESSION['username']);
                $hQuery = mysql_query("SELECT * FROM linkz WHERE userid='$hID'") or die(mysql_error());
                while($hRow = mysql_fetch_array($hQuery)) {
                    echo "<tr class='link'><td><img src='http://www.thumbshots.de/cgi-bin/show.cgi?url=".$hRow["location"]."' /></td><td><a href='share/".$hRow['shareid']."'>".$hRow["title"]."</a> - <i>". $hRow["description"]."</i><br /><b>Share Link:</b> http://www.linkbase.us/share/".$hRow['shareid']."</td><td>".$hRow['tags']."</td><td><a href='#' id='".$hRow['shareid']."' class='delbutton'>Delete</a></td></tr>";
                }
            ?>
            </table>
        

        【讨论】:

        • 好吧,如果你想用 jQuery 对你的表格进行 ajaxify,我认为你需要一种不同的工作方式。
        【解决方案6】:

        您需要先了解 AJAX 的基础知识。

        你需要先学会走路才能开始跑步。

        搜索一些关于 Ajax、PHP 和 Ajax 的教程

        Herehere 是 2 开头

        【讨论】:

        • 一切都很好地输入到表中,即使删除也有效!重新加载整个页面怎么样?即使在 AJAX 发布之后,location.reload() 也会起作用吗?
        • location.reload() 可能会起作用。我真的不知道。因此,如果我是正确的,您将使用 ajax 将数据发布到服务器。但是在检索时,您不使用 ajax。正确的?如果您使用 Ajax 检索数据,则整个重新加载部分可能比仅执行 document.reload() 更容易、更清晰
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-16
        • 2016-06-08
        • 1970-01-01
        • 2012-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多