今天需要做一个多选删除功能,需要从JSP中获取已勾选的多选框的值,传递到Servlet中进行删除操作。 input type="checkbox" name="checkProduct" value="${product.pid}"input type="checkbox" name="checkProduct"
今天需要做一个多选删除功能,需要从JSP中获取已勾选的多选框的值,传递到Servlet中进行删除操作。
<input type="checkbox" name="checkProduct" value="${product.pid}">
<input type="checkbox" name="checkProduct" value="${product.pid}">
<input type="checkbox" name="checkProduct" value="${product.pid}">
<input type="checkbox" name="checkProduct" value="${product.pid}">
<button type="button" id="delete" name="delete" value="删除" class="button_add" onclick="delCheckProduct()">删除</button>
<script type="text/javascript">
function delCheckProduct() {
//获取多选框的选中状态
product = document.getElementsByName("checkProduct");
checkProduct = [];
for(k in product){
if (product[k].checked){
checkProduct.push(product[k].value);
}
}
//alert(checkProduct);
//删除
var isDel = confirm("确认删除吗?");
if (isDel){
//将checkProduct数组当做参数传递到servlet
window.location.href = "${pageContext.request.contextPath}/adminDelProductByChecked?checkProduct="+checkProduct;
}
}
</script>
在Servlet中接收传递过来的值:
String checkProduct = request.getParameter("checkProduct");
// System.out.println(checkProduct);
String uid[] = checkProduct.split(",");
AdminDelProductByCheckedService service = new AdminDelProductByCheckedService();
try {
service.delProductByChecked(uid);
} catch (SQLException e) {
e.printStackTrace();
}
for (int i = 0; i < uid.length; i++){
System.out.println(uid[i]);
}
}
