from表单中checkbox的多选,ajax转入后台,后台接受
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="保 存"/> </shiro:hasPermission>
<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
</div>
</form:form>
</body>
</html>
后台
/**
* Copyright © 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转入后台,后台接受的更多相关文章
- ZH奶酪:PHP如何判断提交表单中多个复选框是否选中?
1.name命名为数组,例如“select[]” 2.例如这样选: 3.在后台使用$_POST['select']得到数组 4.然后就可以看到得到的数组了 原文链接:http://www.zhihu. ...
- php表单中如何获取单选按钮与复选按钮的值
php代码中获取表单中单选按钮的值:(单选按钮只能让我们选择一个,这里有一个"checked"属性,这是用来默认选取的,我们每次刷新我们的页面时就默认为这个值.) 例:<fo ...
- 使用val()方法设置表单中的默认选中项
有时候我们展示给用户的表单中的checkbox,radio,selec等标签的一些项是默认选中的.比方:当用户改动文章的时候,假设相应的栏目为下拉框的话,那么它的默认选中值应该是原来的栏目位置. 能够 ...
- 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式
今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...
- jquery验证表单中的单选与多选
jquery验证表单中的单选与多选 这里所说的,用jquery去验证某一组多选至少要有一个选中,某一组单选至少有一个选中,,大家都知道单一的一个用js比较好验证,但是想要用jquery的验证并且用到j ...
- php表单中如何获取单选按钮与复选按钮的值(示例)
转载:http://www.php.cn/php-weizijiaocheng-360027.html php代码中获取表单中单选按钮的值:(单选按钮只能让我们选择一个,这里有一个“checked”属 ...
- Ajax在表单中的应用
ajax在注册用户表单中的使用 1.验证用户名是否被使用 2.获取手机短信验证码 3.点击表单中的图片刷新,可实现刷新图片验证码 <!DOCTYPE html> <html> ...
- 转:表单中Readonly和Disabled的区别(HTML中使用javascript解除禁止input输入框代)
转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...
- 快速获取表单多条数据,使用ajax传递给后台
当表单中有多条数据需要向后台传递时,一个一个的获取显然是不可取的办法,可以借助表单的serialize()方法获取. HTML: <form id="form"> &l ...
随机推荐
- List根据多个字段分组
List<ClassEntity> distinctClass = classEntities.stream().collect(Collectors.collectingAndThen( ...
- Linux (Ubuntu)安装ssh
看ssh服务是否启动 打开"终端窗口",输入sudo ps -e |grep ssh 回车有sshd,说明ssh服务已经启动, 如果没有启动,输入sudo service ssh ...
- python面向对象之花里胡哨大杂烩
python类的魔法方法之__str__.__repr__.__format__.__module__.__class__.__slots__.__call__.__del__(析构函数) 字符串的内 ...
- 第十四章 SSL——《跟我学Shiro》
目录贴:跟我学Shiro目录贴 对于SSL的支持,Shiro只是判断当前url是否需要SSL登录,如果需要自动重定向到https进行访问. 首先生成数字证书,生成证书到D:\localhost.key ...
- tomcat 是如何做到不同webapp 类隔离的
这个问题的核心是classloader 上图中 启动类加载器,扩展类加载器,应用程序类加载器是 jvm 自带的类加载器. comm catalina shared webapp 是tomcat 扩 ...
- 【搬运】NumPy_for_Matlab_Users
搬运自:http://scipy.github.io/old-wiki/pages/NumPy_for_Matlab_Users.html. 1.Introduction MATLAB和NumPy/S ...
- 【长期更新】Leetcode刷题心得与思考
1.递归与动态规划的思考 Leetcode第95题 递归问题最重要的问题是想明白函数的作用是什么? 这个例子中函数的返回值就是给定a-b这个区间的数字,返回它所有可能的Tree,此时你不需要明白具体怎 ...
- Vue 设置style样式
1.直接添加行内样式 2.通过绑定设置style样式 3.将vue的属性设置为样式 4将多个vue属性设置为样式 <div id="box"> <!--直接添加样 ...
- chrome中显示DNS_PROBE_FINISHED_NO_INTERNET无法上网,但是IE可以上
以管理员方式运行cmd,执行如下命令 ipconfig /release ipconfig /all ipconfig /flushdns ipconfig /renew netsh int ip s ...
- poj 2915
#include <iostream> #include <algorithm> #include <cstdio> #include <cmath> ...