项目开发遇到个问题,就是引入bootstrap下拉多选框进行多选的时候,用form表单提交到后台,获取不到多选的值,只能获取的选择的第一个值。
纠结了会。
jsp页面需要引入这东东~
<link rel="stylesheet" href="${ctx}/js/selectbootstrap/dist/css/bootstrap-select.min.css" rel="external nofollow" > <script src="${ctx}/js/selectbootstrap/dist/js/bootstrap-select.min.js"></script>
直接上代码~
<head> <script type="text/JavaScript"> function fun(){ var str=[]; var obj = document.getElementById("approverq"); for(var i=0;i<obj.options.length;i++){ if(obj.options[i].selected){ str.push(obj.options[i].value);// 收集选中项 } } $("#approver").val(str); } </script> </head> <body> <div class="l_err" ></div> <form id="form" name="form" class="form-horizontal" method="post" action="${ctx}/leave/editEntity.shtml"> <input type="hidden" class="form-control checkacc" value="${leave.id}" name="LeaveFormMap.id" id="id"> <section class="panel panel-default"> <div class="panel-body"> <div class="form-group"> <label class="col-sm-3 control-label">审批人</label> <div class="col-sm-9"> <input type="hidden" class="form-control" placeholder="请输入事由" name="LeaveFormMap.approver" id="approver"value="${leave.approver}"> <select name="" id="approverq" class="form-control selectpicker" multiple="true"> <option value="${leave.approver}" >${leave.approver}</option> <c:forEach items="${list}" var="list"> <option value="${list.userName}" >${list.userName}</option> </c:forEach> </select> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">意见</label> <div class="col-sm-9"> <textarea name="LeaveFormMap.idea" id="idea" class="form-control" readonly="readonly">${leave.idea} </textarea> </div> </div> </div> <footer class="panel-footer text-right bg-light lter"> <button type="submit" class="btn btn-success btn-s-xs" onclick="fun()">提交</button> </footer> </section> </form> </body>
这样就好了。。
以上所述是小编给大家介绍的bootstrap 下拉多选框进行多选传值问题代码分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。