[英]How to reload only one row
我有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>
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>
您有多个具有相同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() { ... })
中用this.value
替换id
$("input.refresh").click(function() { ... })
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.