我要实现多选删除,而且是根据Id删除,现在我想获取jsp页面上的Id数据并且把数据传递到后台,所有使用了复选框,然后判断,如果用户选中了复选框,就把该复选框对应的后台数据的Id传到后台,然后在后台根据Id删除数据库中的数据。现在有两个问题,怎样获取页面上的Id?怎样把这些Id传递到后台?(注:Id为多个所以要使用数组,把多个Id一次性传递到后台)
解决方案 »
- 如何阻止JBOSS生成临时文件
- 连mysql时出的问题,求指正
- springMVC 跳转页面问题
- struts2 web.xml 加上过滤器(为解决中文乱码用)后,请求不到资源。请大家帮忙解决
- hibernate中使用hbm2java中文问题
- 请问怎样解决VS2005调试Struts中的javascript时弹出Find Source对话框问题
- JSP问题,求大神,unable to compile JSP class
- 怎样在web服务启动时就同时启动一个包含main的class?环境是weblogic和单纯的javabean。
- 能够给我解释一下turbine中的这个类的用法吗?
- CMP BEAN的相关问题,在线等!!
- jpa OneToMany级联更新问题
- HttpURLConnection getResponseCode异常
var obj = document.fom.elements;
for(var i = 0;i<obj.length;i++){
if(obj[i].name=="custInfoId"&&obj[i].checked==true){
var custInfoId = obj[i].value;
}
}
}
怎么把值弄到数组里面
var f = document.getElementsByName("clickcheck");
var checkcount = 0;
var id = '';
for(var i = 0;i<f.length;i++)
{
if (f[i].checked )
{
checkcount++;
id = id+f[i].value+',';
}
}
String[] checkBox; // 可以换成你的custInfoId......public String[] getCheckBox() {
return checkBox;
}public void setCheckBox(String[] checkBox) {
this.checkBox = checkBox;
}
页面上有<input type="checkbox" name="custInfoId" value=""/>
就行了,直接提交到这个action就OK了。
<input type="checkbox" name="custInfoId" value="${custInfo.custInfoId}"/>在action里用数组接收下就OK
function allCheck(chkbox){
var checked = chkbox.checked;
if(chkbox.id=="allCheckBox")document.getElementById("headCheckBox").checked=checked;
if(!checked)userIdArray.length = 0;
var checkboxs = document.getElementsByName("userCheckBox");
for(var i = 0;i<checkboxs.length;i++){
checkboxs[i].checked=checked;
if(checked)userIdArray.push(checkboxs[i].value);
}
}location.href="xx.action?xx=userIdArray="+userIdArray;LZ,你明白的.
function commitInfo()
{
var oid=new Array();
for(i=0;i<document.formName.ids.length;i++){
if(document.fm.ids[i].checked ){
oid.push(document.fm.ids[i].value);
}
}
}
ba把oid作为参数传过去 在后台获取:String ids = getParameter("ids");
JSP 页面:<INPUT TYPE="checkbox" NAME="ids" id="ids" value=“***”>
试试 我现在就是这样用的 不过我后台是Servlet 希望能帮助你解决问题
用这个应该可以实现了form获取checkbox里面的数组了action获取数组数据就OK了
在deleteCustInfos()中加:
document.formname.method="post";
document.formname.action="提交页面";
document.formname.submit;
然后在提交页面中:
String[] checkbox=request.getParameterValues("custInfoId");
int i=checkbox.length;
Vector rs=new Vector();
while (i>0)
{
rs.add(checkbox[--i]);
}这样就把所有的custInfoId的值放到rs中了,把rs作为参数传到后台,
<input type="checkbox" name="checkbox" id="checkbox" value="${custInfo.custInfoId}"/> function deleteCustInfos(){
var obj = document.fom.elements;
for(i = 0;i<obj.length;i++){
if(obj[i].name=="checkbox"&&obj[i].checked==true){
document.getElementById("fom").action="custInfo!deleteCustInfos.action";
}
}
document.getElementById("fom").submit();
}
//action中用String数组接受就行了
private String[] checkbox;
public String[] getCheckbox() {
return checkbox;
} public void setCheckbox(String[] checkbox) {
this.checkbox = checkbox;
}//删除多条记录
public String deleteCustInfos(){
for(int i =0;i<checkbox.length;i++){
int id = Integer.parseInt(checkbox[i]);
custInfoService.deleteCustInfoById(id);
}
List<CustomerInfo> custInfos = custInfoService.findAllCustInfos();
getRequest().put("custInfos", custInfos);
return "listCustInfos";
}
还是以前的方法 哎..实在太简单了 竟然做了这么长时间.