十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你把多选框的名都起一样的
创新互联专注于肇州企业网站建设,自适应网站建设,商城开发。肇州网站建设公司,为肇州等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
然后在javascript里面用
var num=0;
for(var i=0;idocument.getElementsByName("多选框名").length;i++){
if(document.getElementsByName("多选框名")[i].checked==true){
num++;
alert(document.getElementsByName("多选框名")[i].value);//弹出选中的value值
}
}
alert(num);//弹出选中的个数
我会将在编写过程中出现的一些小知识点也进行总结概括的。
此项目基于的框架是:springmvc+mybatis
(1)controller
/**
* 批量删除 batch
*/
@RequestMapping("/batchDeletes")
@ResponseBody
public void batchDeletes(HttpServletRequest request,HttpServletResponse response){
String items = request.getParameter("delitems");
ListString delList = new ArrayListString();
String[] strs = items.split(",");
for (String str : strs) {
delList.add(str);
}
userService.batchDeletes(delList);
}
代码思路:
从前台勾选的选择框中传过来的值用“,”分开,然后遍历存放到delList集合里面,直接删delList集合里面的所有字符串。
(2)service
/**
* 批量删除
*/
void batchDeletes(List delList);
(3)impl
/**
* 批量删除
*/
@Override
public void batchDeletes(List delList) {
userMapper.batchDeletes(delList);
}
(4)mapper
/**
* 批量删除
*/
void batchDeletes(List delList);
(5)mapper.xml
!--批量删除 --
delete id="batchDeletes" parameterType="java.util.List"
DELETE FROM tp_user where uname in
foreach collection="list" index="index" item="item" open="(" separator="," close=")"
#{item}
/foreach
/delete
如上的mybatis指代的意思如下:
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名. (直接找到对应的delList集合里面的所有元素,item="item"中的item(后一个)必须与#{item} 中的item一致)
index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置.
open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符.
close表示以什么结束.
前台代码:
user_list.jsp
//全选
function selectAll(){
if ($("#SelectAll").is(":checked")) {
$(":checkbox").prop("checked", true);//所有选择框都选中
} else {
$(":checkbox").prop("checked", false);
}
}
//批量删除
function batchDeletes(){
//判断至少写了一项
var checkedNum = $("input[name='subcheck']:checked").length;
if(checkedNum==0){
alert("请至少选择一项!");
return false;
}
if(confirm("确定删除所选项目?")){
var checkedList = new Array();
$("input[name='subcheck']:checked").each(function(){
checkedList.push($(this).val());
});
$.ajax({
type:"POST",
url:"web/user/batchDeletes.action",
data:{"delitems":checkedList.toString()},
datatype:"html",
success:function(data){
$("[name='checkbox2']:checkbox").attr("checked",false);
art.dialog.tips('删除成功!');
setTimeout("location.reload()",1000);//页面刷新
},
error:function(data){
art.dialog.tips('删除失败!');
}
});
}
}
table class="tb_list"
tr
td align="center"input type="checkbox" id="SelectAll"
onclick="selectAll();" / 全选/td
th序号/th
/tr
c:forEach items="${page.list }" var="items" varStatus="idx"
tr class="row_${idx.count%2+1}"
td style="display:none"${batch.id}/td
td align="center"input type="checkbox" id="subcheck"
name="subcheck" value="${items.UNAME }" /
/td
td${page.onePageCount*(page.currentPage-1)+idx.count }/td
tr
/table
备注:此代码我传值的主键是用uname来删除的,实际应该用id作为主键,因为id的unique
,uname若重名,则就会出现bug,相信大家都明白,就不再过多解释了。
你好,这个叫做下拉框,在java中是这么写
select
optionBOMJI/option
optionBOUFWY/option
optionBOYSO/option
...
/select
供您参考
这个很简单。
1、首先后台定义一个用来展示多选框的对象box,含有2个属性,选项框值value,是否选中isCheck以及选项框名称name
2、构造ListBox boxList对象,放在request中,request.addAttribute("boxList","boxList")
3、在jsp页面利用el标签遍历boxList.
c:foreach items="${boxList}" var="box"
c:choose
c:when test="${box.isCheck==true}"
input type="checkbox" value="${box.value}" checked/${box.name}
c:otherwise
input type="checkbox" value="${box.value}" /${box.name}
/c:otherwise
/c:foreach
思路就是这样,手机回答,代码或许手写错误