<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ taglib uri="/struts-tags" prefix="struts" %>
<script type="text/javascript">
function SetCommand(value)
{
//document.all('command').value = value;
}function SetAllCheck(value)
{
var array = document.getElementsByName('id');
var array1 = new ArrayList();
for(var i = 0; i < array.length;i++)
{
array[i].checked=value;
}
}
</script>
<title><struts:property value="titile" escape="false" /></title>
<a href="addPerson.jsp" >新建人员资料</a>
<link href="css/FormUITag.css" rel="stylesheet" type="text/css" />
<table>
<tr bgcolor="#FFFFFF">
<th></th>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>密码</th>
</tr>
<struts:iterator var="userOneInfo1" value="personlist">
<td><input type =checkbox name=id value = "+${userOneInfo1.id}+" /></td>
<td>${userOneInfo1.id}</td>
<td>${userOneInfo1.name}</td>
<td>${userOneInfo1.age}</td>
<td>${userOneInfo1.sex}</td>
<td>${userOneInfo1.password}</td>
<td>><a href='<struts:url action="editPerson" />?userOneInfo.id=${id}'> 修改</a> </td>
<td>><a href='<struts:url action="deletePerson" />?userOneInfo.id=${id}'> 删除</a> </td>
</tr>
</struts:iterator>
<struts:hidden name="command" id="comand"/>
<struts:hidden name="delID" id="delID"/>
<input type ="button" name="Alldel" value="全部选中" onclick="SetAllCheck(true);"/>
<input type ="button" name="Alldel" value="全部不选中" onclick="SetAllCheck(false);"/>
<td><a href="<struts:url action="deletePerson" />"> 删除全部</a> </td>
</table>在上面的jsp页面中,如果希望选中几条记录,然后删除,如何能得到选中的记录的id,并传给action。
请高手指点一下。
<%@ taglib uri="/struts-tags" prefix="struts" %>
<script type="text/javascript">
function SetCommand(value)
{
//document.all('command').value = value;
}function SetAllCheck(value)
{
var array = document.getElementsByName('id');
var array1 = new ArrayList();
for(var i = 0; i < array.length;i++)
{
array[i].checked=value;
}
}
</script>
<title><struts:property value="titile" escape="false" /></title>
<a href="addPerson.jsp" >新建人员资料</a>
<link href="css/FormUITag.css" rel="stylesheet" type="text/css" />
<table>
<tr bgcolor="#FFFFFF">
<th></th>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>密码</th>
</tr>
<struts:iterator var="userOneInfo1" value="personlist">
<td><input type =checkbox name=id value = "+${userOneInfo1.id}+" /></td>
<td>${userOneInfo1.id}</td>
<td>${userOneInfo1.name}</td>
<td>${userOneInfo1.age}</td>
<td>${userOneInfo1.sex}</td>
<td>${userOneInfo1.password}</td>
<td>><a href='<struts:url action="editPerson" />?userOneInfo.id=${id}'> 修改</a> </td>
<td>><a href='<struts:url action="deletePerson" />?userOneInfo.id=${id}'> 删除</a> </td>
</tr>
</struts:iterator>
<struts:hidden name="command" id="comand"/>
<struts:hidden name="delID" id="delID"/>
<input type ="button" name="Alldel" value="全部选中" onclick="SetAllCheck(true);"/>
<input type ="button" name="Alldel" value="全部不选中" onclick="SetAllCheck(false);"/>
<td><a href="<struts:url action="deletePerson" />"> 删除全部</a> </td>
</table>在上面的jsp页面中,如果希望选中几条记录,然后删除,如何能得到选中的记录的id,并传给action。
请高手指点一下。
是普通的checkbox 不是struts:checkbox可以这样做吗?我用的是struts2
var values = "";
for(var i=0;i<mainsel.length;i++){
if(mainsel[i].checked ==true){
if(values == ""){
values = mainsel[i].value;
}else{
values = values + "," + mainsel[i].value;
} }
}在后台,用逗号截取一下。。就是得到的数组了
可以啊,後臺就一個List<String> id;就可以
//全选
function selAll()
{
for(i=0;i<document.form2.id.length;i++)
{
if(!document.form2.id[i].checked)
{
document.form2.id[i].checked=true;
}
}
}
//全不选
function noSelAll()
{
for(i=0;i<document.form2.id.length;i++)
{
if(document.form2.id[i].checked)
{
document.form2.id[i].checked=false;
}
}
}//取得多选Id,elementName就是你的多选框的
function getCheckedIds(elementName){
var selChk = "";
var chks = document.getElementsByName(elementName);
for(var i=0;i< chks.length; i++) {
if( chks[i].checked ) {
selChk += chks[i].value + ",";
}
}
alert( selChk );
}
js如下:
function deleteBeans() {
var n = 0;
var ids = document.getElementsByName("ids");
for (i = 0; i < ids.length; i++) {
if (ids[i].checked)
n++;
}
if (n == 0) {
alert("请选择要删除的应用");
return false;
}
if (confirm("确认删除所选的" + n + "个应用吗?")) {
document.frm.command.value = "delete";
document.frm.submit();
}
}
页面的chackbox如下:
<input type="checkbox" name="ids"value="${item.ID}"></td>后台代码(获得js来的ids中的信息):
String[] ids = request.getParameterValues("ids");
if (ids == null || ids.length == 0)
return null;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ids.length; i++) {
if (sb.length() > 0)
sb.append(',');
sb.append(NumberUtils.toLong(ids[i]));
}然后sb.toString就是所有拟传来的ID
String sql = "delete from CupApp where id in(" + sb.toString()+ ")";
在执行这个sql就可以了
ids = ids + $(this).val() + ',';
});
ids = ids.substring(0, ids.length - 1);
这样会把你选中的所有checkbox绑定的id拼接成ids, 然后把ids传到后台,通过split 分割 再进行删除即可。