1、全选复选框
getElementsByName返回的是数组
<script type="text/JavaScript"> function selectAll(flag){ var ids = document.getElementsByName("ids"); for(var i=0;i<ids.length;i++){ ids[i].checked=flag; } } </script>
checkbox的name值要与js对应
<input type="checkbox" name="ids" value=<%=map.get("id")%> />
调用:
用另一个checkbox调用
<input type="checkbox" name="checkall" value="" onclick="javascript:selectAll(this.checked);">
用链接或button调用,并实现全不选
<a href="#" onclick="javascript:selectAll(true);">全选</a> <input type="button" onclick="javascript:selectAll(false);" value="取消全选">
2、获取所选的框的个数
function getSelectCount() { var count = 0; var ids = document.getElementsByName("ids"); for ( var i = 0; i < ids.length; i++) { if (ids[i].checked) { count++; } } return count; }
3、提交所选框代表的各个值(即value属性)到action中
要求各个checkbox的name是ids,且在一个name="form1"的表单中
function del() { if(getSelectCount()<1){ alert("至少要选中一个选项!!");} else { var th = document.form1; th.action="<%=path%>/servlet/ProductEdit?action=del"; th.submit(); } }
在dopost中获取ids数组
String[] id=request.getParameterValues("ids");
Done!