今天需要做一个多选删除功能,需要从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]); } }