如何仅重新加载一行

How to reload only one row

本文关键字:一行 何仅重 新加载 加载      更新时间:2023-09-26

我有 3 列,列值不断从数据库中动态变化。所有行的最后一列都有刷新按钮。

当我单击刷新按钮时应该发生的事情是只有该特定行应该刷新。

但事实并非如此。当我单击第一行刷新按钮时,它会刷新并显示警报值,但是当我单击除第一行以外的表格的其他刷新按钮时,它们不会刷新。它们甚至不会在警报中显示值。

这是我使用过的代码:

ajax,JQuery

<script type="text/javascript">
    var id;
    function refreshRecord(value) {
        id = value;
        alert("id is " + id);
    }
    $(document).ready(function() {
        $(this).("#refresh").click(function() {
            var fileId = id;
            alert("ajax id is " + id);
            $.ajax({
                type: "post",
                url: "checkStatusAndNumRecs",
                data: {
                    fileId: fileId
                },
                success: function(data) {
                    $("#div1").html(data);
                },
                error: function(data) {
                    $("#div1").html("It was a failure !!!");
                }
            });
        });
    });
</script>

网页代码

<table border="1">
    <tr>
        <td>2</td>
        <td>1</td>
        <td>3</td>
        <td>
            <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh">
        </td>
    </tr>
    <tr>
        <td>7</td>
        <td>9</td>
        <td>7</td>
        <td>
            <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh">
        </td>
    </tr>
    <tr>
        <td>3</td>
        <td>4</td>
        <td>6</td>
        <td>
            <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh">
        </td>
    </tr>
    <tr>
        <td>9</td>
        <td>6</td>
        <td>5</td>
        <td>
            <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh">
        </td>
    </tr>
</table>

您有多个具有相同 id 的单选按钮。这是无效的 html。改用类,例如

<input type="radio" name="submit" ... class="refresh">

并将您的 JavaScript 更改为

$("input.refresh").click(function() {

此外,您不应该对同一事件使用两个不同的onclick事件(我什至不确定它们是否按正确的顺序排列,可能是随机的。您可以从 html 中删除onclick="refreshRecord(this.value)",从 javascript 中删除refreshRecord函数,并在 $("input.refresh").click(function() { ... }) 中将id替换为this.value