Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅重新加载一行_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 如何仅重新加载一行

Javascript 如何仅重新加载一行,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有3列,列值从数据库中不断动态变化。 所有行的最后一列都有刷新按钮 当我单击刷新按钮时,应该发生的是,只有该特定行应该被刷新 但事实并非如此。当我单击第一行刷新按钮时,它会刷新并显示一个警报值,但当我单击表中除第一行之外的其他刷新按钮时,它们不会被刷新。它们甚至不在警报中显示值 以下是我使用的代码: ajax,JQuery <script type="text/javascript"> var id; function refreshRecord(value) {

我有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>

变量id;
函数刷新记录(值){
id=值;
警报(“id为”+id);
}
$(文档).ready(函数(){
$(此)。(“#刷新”)。单击(函数(){
var fileId=id;
警报(“ajax id为”+id);
$.ajax({
类型:“post”,
url:“checkStatusAndNumRecs”,
数据:{
fileId:fileId
},
成功:功能(数据){
$(“#div1”).html(数据);
},
错误:函数(数据){
$(“#div1”).html(“这是一次失败!!!”;
}
});
});
});
html代码

<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>

2.
1.
3.
7.
9
7.
3.
4.
6.
9
6.
5.

您有多个具有相同id的单选按钮。这是无效的html。使用一个类,而不是像

<input type="radio" name="submit" ... class="refresh">
此外,您不应该对同一事件使用两个不同的
onclick
事件(我甚至不确定它们的顺序是否正确,可能是随机的)

您可以从html中删除
onclick=“refreshRecord(this.value)”
,并从javascript中删除
refreshRecord
函数,并在
$(“input.refresh”)中将
id
替换为
中的
this.value
。单击(function(){…}

我在代码中没有看到任何按钮,也没有id为
\refresh
的元素。请用所有相关部分展开您的代码。@Raidri我已经编辑了这篇文章。谢谢Raidri,如果我使用的是if而不是input类型,如何使用if?将
$(“input.refresh”)
替换为
$(“a.refresh”)
。您还需要做的是,将行的id/fileid放在刷新按钮/链接中,这样您就有了ajax调用的id。在第一个代码中,所有按钮上都有相同的值
submit
。如果使用链接,请在链接中添加数据属性,如
datafileid=“1”
并使用
var fileid=$(this.data('fileid')在ajax调用中。
$("input.refresh").click(function() {