我這里往后端傳遞checkbox 多選框value的值是通過字符串方式傳遞,先調用js對選定checkbox遍歷獲取選的的boxvalue,然后寫進隱藏域,最后作文對象的屬性提交。見代碼:`
前端:
<form:form commandName="user" method="post"> <c:forEach items="${deploys}" var="deploy" varStatus="deployStatus"> <input type="checkbox" name="checkbox" value="${deploy.id}"/>${deploy.systemName} <br> </c:forEach> <spring:bind path="id">//實際存儲的值,此處隱藏 <div class="form-group" hidden> <form:input path="id" name="id" cssClass="form-control"></form:input> </div> </spring:bind> <spring:bind path="accessControl">//實際存儲的值,此處隱藏 <div class="form-group" hidden> <form:input path="accessControl" name="accessControl" cssClass="form-control"></form:input> </div> </spring:bind> <input type='button' value='確定' onclick="fun()"/>//調用腳本,給需要post的數據賦值 <div class="form-group"> <button type="submit" class="btn btn-primary">保存</button> <a class="btn btn-success pull-right" href="/user/list" rel="external nofollow" >返回</a> </div> </form:form>腳本:
<script type="text/javascript"> function fun() { var boxes = document.getElementsByTagName("input");// var val = [] var str = ""; for (var i = 0; i < boxes.length; i++) { if (boxes[i].name == "checkbox" && boxes[i].checked == true) {// val.push(boxes[i].value); str += boxes[i].value + ','; } } $("#accessControl").val(str)// alert(atr);// alert(val); }</script>后端:
@RequestMapping(value = "editaccesscontrol", method = RequestMethod.POST) //后端方法, public String editAccessControlPost(User user,ModelMap model ) {//接收參數對象user userMapper.updateUserAccessControl(user); model.addAttribute("user",user); model.addAttribute("success", "權限修改成功"); return "redirect:/user/editaccesscontrol?id="+user.getId(); }以上這篇淺談SpringMVC中post checkbox 多選框value的值(隱藏域方式)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答