我正在处理如下的需求。根据复选框选择删除JSP中的多行数据(AJAX)
我存储的对象的列表(每个对象具有一个唯一的id)作为会话参数,并使用JSTL如下
<c:forEach var="list" items="${PlayerList}">
<tr>
<td>
<img style="cursor:pointer" src="./images/delete.jpg" title="Force Delete"
onClick="forceDelete(${list.playerId})">
<td>${list.playerName}</td>
<td>${list.runsScored}</td>
</tr>
</c:forEach>
在jsp中在表中显示每个对象数据和AJAX功能是
<script>
function forceDelete(playerIdValue)
{
var xmlhttp;
var toDelete= confirm("Do you want to Remove?")
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById('display_div').innerHTML=xmlhttp.responseText;
}
}
if (toDelete== true)
{
xmlhttp.open("POST","PlayerController?
value="+playerIdValue,true);
xmlhttp.send();
}
}
</script>
我处理在的PlayerController servlet的POST方法删除行
现在我要实现类似下面
<c:forEach var="list" items="${PlayerList}">
<tr>
<td><input type="checkbox">
<td>${list.playerName}</td>
<td>${list.runsScored}</td>
</tr>
</c:forEach>
<input type="button" value="delete">
用户可以选择多个复选框,并单击删除按钮,然后将各行应该从JSP中删除使用AJAX
我应该如何处理这一点,任何帮助,将不胜感激。
如果需要任何额外的数据,我准备提供。
在此先感谢。
我试过这个,但似乎没有工作,告诉我我在哪里做错了。要遵循没有确切的代码细节
复选框代码`
<input type="checkbox" name="toBeDeleted[]" value="${list.playerId}">
<div align="center"><button onclick="forceStop()">Delete</button></div>
JS代码
function forceStop()
{
var toBeDeleted = new Array();
$("input:checked").each(function() {
data['toBeDeleted[]'].push($(this).val());
});
$.ajax({
url:"PlayerController",
type:"POST",
dataType:'json',
data: {toBeDeleted:toBeDeleted},
success:function(data){
},
});
`
基于我所尝试的编辑问题,但它不工作,告诉我我在哪里做错了 –
看起来像我能够收集玩家的ID,当我点击删除按钮时,我可以看到ID我想知道如何在servlet中接收它们,并在数据库上执行删除操作 –
1)您是否可以获取阵列中的播放器ID 2)如果是,请在浏览器控制台中检查它是否正确发送通过ajax请求3)servlet结束时收到什么? –