我在 jsp 页面中有表格,每行都有刷新按钮,点击每个刷新按钮我有一个 javascript/ajax 调用,它将转到操作类并获取状态和#records 的值,并用检索到的列替换对应行数据
这是我的jsp表:
<table border="1" class="displaytab" id="rtable">
<s:if test="%{user.roles == 'admin'}">
<tr> <td colspan="10" style="background:#7395B8;color:white;font-size:18px;font-weight:bold;"><center>Admin</center></td></tr>
</s:if>
<tr>
<th>FileId</th><th>File Name</th><th>Upload Date</th><th>#Records</th><th>Status</th><th>Estimated Time</th><th>Processed Records</th><th>Generate Report</th><th></th><s:if test="%{user.roles == 'admin'}"><th>Controls</th></s:if>
</tr>
<s:iterator value="uploadList" var="m">
<tr>
<td><s:property value="%{#m.fileId}" /></td>
<td><s:property value="%{#m.fileName}" /></td>
<td><s:property value="%{#m.uploadDate}" /></td>
<td><div id="div2"><s:property value="%{#m.numRecords}" /></div></td>
<td><div id="div1"><s:property value="%{#m.status}" /></div></td>
<td>tbd</td>
<td><s:property value="%{#m.numRecords}" /></td>
<td><a href=""><img src="images/generate.png" title="Generate Report"></a></td>
<td><a href=""><img src="images/refresh.png" title="Refresh" id="refresh" onclick="refreshRecord(<s:property value="%{#m.fileId}" />);"></a></td>
这是我的 ajax javascript:
var id;
function refreshRecord(value)
{
id = value;
alert(id);
}
$(document).ready(function(){
$("#refresh").click(function(){
var fileId=id;
alert("ajax id is "+fileId);
var rowNum = $(this).parent().parent().index();;
alert(rowNum);
$.ajax({
type:"post",
url:"checkStatusAndNumRecs",
data:{fileId:fileId},
success:function(data)
{
setTimeout(alert(data), 2000);
var allTds = $("#rtable tr:eq('"+rowNum+"')").find('td');
$(allTds)[4].html(data[0]);
$(allTds)[3].html(data[1]);
},
error:function(data)
{
$("#div1").html("It was a failure !!!");
}
});
});
});
</script>
这是我的动作类“checkStatusAndNumRecs” public String execute() {
System.out.println("here inside action-------------");
PersistenceService svc = PersistenceServiceImpl.getInstance();
status = svc.getStatusByFileId(fileId);
System.out.println("status is "+status);
numRecords = svc.getNumRecordsByFileId(fileId);
System.out.println("num records are "+numRecords);
return "SUCCESS";
}
我正在运行这个,在动作类中我得到状态和 numRecords,问题是
仅用于调用第一行 ajax 函数,其余行不进入 ajax 函数
我没有在 ajax 中获得状态和 numRecords
3.datafrom action 类应该替换为status 和#records 两列。请任何身体帮助,我从几天开始为此而苦苦挣扎。
而且我没有使用 servlet,并且在表中我正在迭代数据列表。