var check = [];//定义一个空数组
$("input[name='category']:checked").each(function(i){//把所有被选中的复选框的值存入数组
check[i] =$(this).val();
});
$.ajax({
type : "post",
url : "${ctx}/ask/ask/check",
data : {"check":check},
traditional:true,
datatype:"json",
success:function(dates){

},
error: function() {
alert("失败,请稍后再试!");
}
});

<div id="check">
<label class="control-label">设备:</label>
<div class="controls">
<c:forEach var="list" items="${askc.eqc}" varStatus="">
<input type="checkbox" id="checkbox" name="category" value="${list.eqId }" />${list.eqName}<br>
</c:forEach>
</div>
</div>

------------------------------------------------------

ajax 转入  traditional:true,必须写

后台接受

@ResponseBody
@RequestMapping(value = "check")
public static String[] check(HttpServletRequest request) {
ids=request.getParameterValues("check");
return ids;
}

ids=request.getParameterValues("check");

前台

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>巡检任务成功管理</title>
<meta name="decorator" content="default"/>
<script type="text/javascript">
$(document).ready(function() {
//$("#name").focus();
$("#inputForm").validate({
submitHandler: function(form){
loading('正在提交,请稍等...');
var check = [];//定义一个空数组
$("input[name='category']:checked").each(function(i){//把所有被选中的复选框的值存入数组
check[i] =$(this).val();
});
$.ajax({
type : "post",
url : "${ctx}/ask/ask/check",
data : {"check":check},
traditional:true,
datatype:"json",
success:function(dates){

},
error: function() {
alert("失败,请稍后再试!");
}
});
form.submit();
},
errorContainer: "#messageBox",
errorPlacement: function(error, element) {
$("#messageBox").text("输入有误,请先更正。");
if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
error.appendTo(element.parent().parent());
} else {
error.insertAfter(element);
}
}
});
});
</script>
</head>
<body>
<ul class="nav nav-tabs">
<li><a href="${ctx}/ask/ask/">巡检任务成功列表</a></li>
<li class="active"><a href="${ctx}/ask/ask/form?id=${ask.id}">巡检任务成功<shiro:hasPermission name="ask:ask:edit">${not empty ask.id?'修改':'添加'}</shiro:hasPermission><shiro:lacksPermission name="ask:ask:edit">查看</shiro:lacksPermission></a></li>
</ul><br/>
<form:form id="inputForm" modelAttribute="ask" action="${ctx}/ask/ask/save" method="post" class="form-horizontal">
<form:hidden path="id"/>
<sys:message content="${message}"/>
<div class="control-group">
<label class="control-label">巡检任务名称:</label>
<div class="controls">
<form:input path="name" htmlEscape="false" maxlength="255" class="input-xlarge "/>
</div>
</div>
<div id="check">
<label class="control-label">设备:</label>
<div class="controls">
<c:forEach var="list" items="${askc.eqc}" varStatus="">
<input type="checkbox" id="checkbox" name="category" value="${list.eqId }" />${list.eqName}<br>
</c:forEach>
</div>
</div>
<br>
<div class="control-group">
<label class="control-label">巡检人:</label>
<div class="controls">
<form:select path="askUser" class="input-xlarge ">
<option value="">请选择</option>
<c:forEach items="${ask.wu}" var="list">
<option value="${list.wuId}">${list.wuName}</option>
</c:forEach>
</form:select>
</div>
</div>
<div class="control-group">
<label class="control-label">任务截止时间:</label>
<div class="controls">
<input name="askTime" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
value="<fmt:formatDate value="${ask.askTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
</div>
</div>
<div class="control-group">
<label class="control-label">已检设施数:</label>
<div class="controls">
<form:input path="useNum" htmlEscape="false" maxlength="255" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">未检设施数:</label>
<div class="controls">
<form:input path="unNum" htmlEscape="false" maxlength="255" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">异常设施数:</label>
<div class="controls">
<form:input path="ycNum" htmlEscape="false" maxlength="255" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">备注:</label>
<div class="controls">
<form:input path="remark" htmlEscape="false" maxlength="255" class="input-xlarge "/>
</div>
</div>
<div class="control-group">
<label class="control-label">任务状态:</label>
<div class="controls">
<form:select path="askStatus" class="input-xlarge required">
<form:option value="" label=""/>
<form:options items="${fns:getDictList('amp_ask')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
</form:select>
</div>
</div>
<div class="form-actions">
<shiro:hasPermission name="ask:ask:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
</div>
</form:form>
</body>
</html>

后台

/**
* Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
*/
package com.thinkgem.jeesite.modules.ask.web;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.thinkgem.jeesite.common.config.Global;
import com.thinkgem.jeesite.common.persistence.Page;
import com.thinkgem.jeesite.common.web.BaseController;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.ask.entity.Ask;
import com.thinkgem.jeesite.modules.ask.entity.Eq;
import com.thinkgem.jeesite.modules.ask.entity.Wuask;
import com.thinkgem.jeesite.modules.ask.service.AskService;
import com.thinkgem.jeesite.modules.order.entity.Equiporder;
import com.thinkgem.jeesite.modules.order.service.EquiporderService;

/**
* 巡检任务成功Controller
* @author wu
* @version 2018-08-02
*/
@Controller
@RequestMapping(value = "${adminPath}/ask/ask")
public class AskController extends BaseController {

@Autowired
private AskService askService;
@Autowired
private EquiporderService equiporderService;

@ModelAttribute
public Ask get(@RequestParam(required=false) String id) {
Ask entity = null;
if (StringUtils.isNotBlank(id)){
entity = askService.get(id);
}
if (entity == null){
entity = new Ask();
}
return entity;
}
public static String[] ids=null;

@RequiresPermissions("ask:ask:view")
@RequestMapping(value = {"list", ""})
public String list(Ask ask, HttpServletRequest request, HttpServletResponse response, Model model) {
Page<Ask> page = askService.findPage(new Page<Ask>(request, response), ask);
model.addAttribute("page", page);
return "modules/ask/askList";
}

@ResponseBody
@RequestMapping(value = "lists")
public List<Ask> lists(Ask ask) {
List<Ask> mapList =askService.lists(ask);
return mapList;
}

@RequiresPermissions("ask:ask:view")
@RequestMapping(value = "form")
public String form(Ask ask, Model model) {
// Equiporder equiporder=new Equiporder();
// equiporder.setWueqId("b9ed96d1b716491f8fc4f71f3705c50a");
// List<Equiporder> mapList =equiporderService.findUserList(equiporder);
// List<Wuask> areaMapList=new ArrayList<Wuask>();
// Wuask areaMap=new Wuask();
// for (Equiporder alarm2 : mapList) {
// areaMap.setWuId(alarm2.getWuId());
// areaMap.setWuName(alarm2.getWuName());
// areaMapList.add(areaMap);
// areaMap=new Wuask();
// }
// ask.setWu(areaMapList);
//---------------------------------------
// Ask ask1=new Ask();
// Eq e=new Eq();
// List<Eq> areaList=new ArrayList<Eq>();
// List<Ask> mapList1 =askService.lists(ask1);
// for (Ask alarm2 : mapList1) {
// e.setEqName(alarm2.getEqName());
// e.setEqId(alarm2.getEqId());
// areaList.add(e);
// e=new Eq();
// }
// ask.setEqc(areaList);
model.addAttribute("ask", ask);
return "modules/ask/askForm";
}
@RequiresPermissions("ask:ask:view")
@RequestMapping(value = "formselect")
public String formselect(Ask ask, Model model) {
Equiporder equiporder=new Equiporder();
equiporder.setWueqId("b9ed96d1b716491f8fc4f71f3705c50a");
List<Equiporder> mapList =equiporderService.findUserList(equiporder);
List<Wuask> areaMapList=new ArrayList<Wuask>();
Wuask areaMap=new Wuask();
for (Equiporder alarm2 : mapList) {
areaMap.setWuId(alarm2.getWuId());
areaMap.setWuName(alarm2.getWuName());
areaMapList.add(areaMap);
areaMap=new Wuask();
}
ask.setWu(areaMapList);
//---------------------------------------
// Ask ask1=new Ask();
Eq e=new Eq();
List<Eq> areaList=new ArrayList<Eq>();
List<Ask> mapList1 =askService.lists(ask);
for (Ask alarm2 : mapList1) {
e.setEqName(alarm2.getEqName());
e.setEqId(alarm2.getEqId());
areaList.add(e);
e=new Eq();
}
ask.setEqc(areaList);
model.addAttribute("askc", ask);
return "modules/ask/xzaskForm";
}
@ResponseBody
@RequestMapping(value = "check")
public static String[] check(HttpServletRequest request) {
ids=request.getParameterValues("check");
return ids;
}

@RequiresPermissions("ask:ask:edit")
@RequestMapping(value = "save")
public String save(Ask ask, Model model, RedirectAttributes redirectAttributes,HttpServletRequest request){
if (!beanValidator(model, ask)){
return form(ask, model);
}
if(ids==null){
addMessage(redirectAttributes, "没有选择设备");
return "redirect:"+Global.getAdminPath()+"/ask/ask/?repage";
}
// for (int i = 0; i < ids.length; i++) {
// String s=ids[i];
// }
askService.save(ask,ids);
addMessage(redirectAttributes, "保存巡检任务成功成功");
return "redirect:"+Global.getAdminPath()+"/ask/ask/?repage";
}

@RequiresPermissions("ask:ask:edit")
@RequestMapping(value = "delete")
public String delete(Ask ask, RedirectAttributes redirectAttributes) {
askService.delete(ask);
addMessage(redirectAttributes, "删除巡检任务成功成功");
return "redirect:"+Global.getAdminPath()+"/ask/ask/?repage";
}

}

从数据库中取数据放入前台,checkbox里面的值(由数据库中来)

from表单中checkbox的多选,ajax转入后台,后台接受的更多相关文章

  1. ZH奶酪:PHP如何判断提交表单中多个复选框是否选中?

    1.name命名为数组,例如“select[]” 2.例如这样选: 3.在后台使用$_POST['select']得到数组 4.然后就可以看到得到的数组了 原文链接:http://www.zhihu. ...

  2. php表单中如何获取单选按钮与复选按钮的值

    php代码中获取表单中单选按钮的值:(单选按钮只能让我们选择一个,这里有一个"checked"属性,这是用来默认选取的,我们每次刷新我们的页面时就默认为这个值.) 例:<fo ...

  3. 使用val()方法设置表单中的默认选中项

    有时候我们展示给用户的表单中的checkbox,radio,selec等标签的一些项是默认选中的.比方:当用户改动文章的时候,假设相应的栏目为下拉框的话,那么它的默认选中值应该是原来的栏目位置. 能够 ...

  4. 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式

    今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...

  5. jquery验证表单中的单选与多选

    jquery验证表单中的单选与多选 这里所说的,用jquery去验证某一组多选至少要有一个选中,某一组单选至少有一个选中,,大家都知道单一的一个用js比较好验证,但是想要用jquery的验证并且用到j ...

  6. php表单中如何获取单选按钮与复选按钮的值(示例)

    转载:http://www.php.cn/php-weizijiaocheng-360027.html php代码中获取表单中单选按钮的值:(单选按钮只能让我们选择一个,这里有一个“checked”属 ...

  7. Ajax在表单中的应用

    ajax在注册用户表单中的使用 1.验证用户名是否被使用 2.获取手机短信验证码 3.点击表单中的图片刷新,可实现刷新图片验证码 <!DOCTYPE html> <html> ...

  8. 转:表单中Readonly和Disabled的区别(HTML中使用javascript解除禁止input输入框代)

    转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...

  9. 快速获取表单多条数据,使用ajax传递给后台

    当表单中有多条数据需要向后台传递时,一个一个的获取显然是不可取的办法,可以借助表单的serialize()方法获取. HTML: <form id="form"> &l ...

随机推荐

  1. 123457123456#0#-----com.twoapp.ErTongHuaHua01--前拼后广--儿童绘画填色游戏jiemei

    com.twoapp.ErTongHuaHua01----儿童绘画填色游戏jiemei

  2. 关于appium操作真机打开app之后无法定位页面元素的问题的解决办法

    appium操作真机打开app后无法定位页面元素:例如微信或者支付宝支付时,手机的安全控件会对支付环境进行保护,会断掉当前appium与真机的链接,导致连接失败,无法定位到页面元素,在做ui自动化之前 ...

  3. python中列表,元组的乘法

    直接上code吧,还可以这么玩儿 li=[1,] li=li*3 print(li) out: [1, 1, 1] =========== >>> t=(1,2) >>& ...

  4. MySQL数据库表的设计和优化(上)

    一.单表设计与优化: (1)设计规范化表,消除数据冗余(以使用正确字段类型最明显):数据库范式是确保数据库结构合理,满足各种查询需要.避免数据库操作异常的数据库设计方式.满足范式要求的表,称为规范化表 ...

  5. git clone时加上--depth 1

    当项目过大时,git clone时会出现error: RPC failed; HTTP curl The requested URL returned error: Gateway Time-out的 ...

  6. java面试考点-面试准备

    面试前准备 了解应试公司相关信息及岗位信息 系统复习基础知识 对原公司负责项目进行梳理 阅读常规框架源码 学习典型架构案例 针对招聘文案准备加分项 相关技能 基础知识:进程/线程,TCP协议,HTTP ...

  7. 【miscellaneous】【ARM-Linux开发】ARM平台基于嵌入式Linux Gstreamer 使用

    1). 简介 随着ARM平台性能的日益强大和嵌入式设备的发展,对于多媒体处理如音视频播放,摄像头,流媒体处理等需求也日益增多,本文就通过几个基于嵌入式Linux下多媒体应用的示例来简单展示下使用Gst ...

  8. Mac brew命令踩坑

    brew是mac上的在线包管理软件,相当于linux apt以及yum包管理工具 1.取消brew的自动更新(https://blog.csdn.net/yf9595/article/details/ ...

  9. 提高.NET应用性能

    提高.NET应用性能的方法 写在前面 设计良好的系统,除了架构层面的优良设计外,剩下的大部分就在于如何设计良好的代码,.NET提供了很多的类型,这些类型非常灵活,也非常好用,比如List,Dictio ...

  10. Lnamp的高级网站架构+动静分离+反向代理

    Lnamp的架构 环境: 图上面是5台服务器 192.168.1.116 是nginx负载均衡+动静分离 192.168.1.117:linux+apache+php 192.168.1.118:li ...