今天遇到了批量添加,记录一下
<input class="btn btn-sm tianjia" onclick="skip('${ctx}/ProjectTaskManager/submitAddTask/${ttcCaseKey}')"
type="button" value=" 添加"/>
<td id="title"><input id="chk_all" type="checkbox" width="10px;"
onclick="javascript:allCheck()"></td>
<td> id="title" width="30px">
<input type="checkbox" id="chk_sub_checkBox" name="chk_sub_checkBox"
value="${task.projectTaskID }" onclick="javascript:checkT_F()" />
</td>
function skip(controllerUrl, keyString) {
var alertMessage = "您没有勾选要操作的记录,请先勾选!";
//判断是否勾选复选框,如果没有勾选,提示alertMessage的信息
var obj = document.getElementsByName("chk_sub_checkBox");
var j = 0;
for(var i=0;i<obj.length;i++) {
if(obj[i].checked==true) {
j ++;
break;
}
}
if(j < 1) {
alert(alertMessage);
return false;
}
var projectTaskIDs=document.getElementsByName("chk_sub_checkBox");
var keyString = "?keys=";
for(var i=0;i<projectTaskIDs.length;i++){
if(projectTaskIDs[i].checked && projectTaskIDs[i].value != ""){
keyString+=projectTaskIDs[i].value+=",";
}
}
//controller对应的url加上传过去多条记录的主键keys
document.forms[0].action =controllerUrl+keyString;
document.forms[0].submit();
}
大致就是通过checkbox,通过document.getElementsByName 获取选中的主键
然后将获取的主键,组成一长串key,用,隔开
然后通过URL传值,把key传值后台
在后台
String []projectTaskIDs = keys.split(",");
然后,通过for循环进行处理