作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 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
函数并将 id
替换为 this.value
在 $("input.refresh").click(function() { ... })
中。
关于javascript - 如何只重新加载一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006244/
我是一名优秀的程序员,十分优秀!