分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

jquery sortable ?提交数据保存 使用问题

发布时间:2023-09-06 02:00责任编辑:蔡小小关键词:暂无标签

最终效果图

有几个坑这里分享一下。

我用的是cloud-admin,一个bootstrap的CSS模板。

jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */jQuery UI - v1.11.1 - 2014-08-24

jquery 的sort 功能是在ui包里面的,所以需要UI包引入

一开始引入页面没效果,新建一个单独的页面正常使用,又放入完整页面又正常了,真不知道什么情况。反复试一下应该是没问题的。

试了以为是 ol 标签有问题,换 ul 好了又换回 ol 一切正常。

1 <div>2 ????????????????????????????????????????????<ol class="dd-list" id="checkList">3 ????????????????????????????????????????????<c:forEach items="${checkList}" var="item">4 ????????????????????????????????????????????????<li id="${item.fieldName}">5 ????????????????????????????????????????????????????<span ?class="btn btn-default">${item.chineseName}</span>6 ????????????????????????????????????????????????</li>7 ????????????????????????????????????????????</c:forEach>8 ????????????????????????????????????????????</ol>9 ????????????????????????????????????????</div>

2个候选框,一个是已选择的,另外一个是未选择的,可以互相拖拽,这个地方用到 sortable  connectWith属性

$("#uncheckList").sortable({ ???????connectWith:"#checkList" ?}).disableSelection();

只提交已选择那个DIV里的项目保存到数据库。

这里的  sortable("toArray")  功能,需要注意一下,出来是个 以 , (逗号) 隔开的字符串,内容就是 li 属性 id 的内容。

而且出来的是按顺序排列的一串。如下图。

id="${item.fieldName}"

      

    但你直接通过ajax post是不行的,需要decodeURIComponent一下才能在服务器端正常获取到。剩下的就没什么问题。很 好用的一个功能。

checklist=decodeURIComponent(checklist,true);
 1 <script> 2 var typeId=${param.type}; 3 ??$(function() { 4 ????$("#checkList").sortable({ 5 ??????????connectWith:"#uncheckList", 6 ??????????delay:1, 7 ??????????stop:function(){ 8 ??????????????var checklist=$("#checkList").sortable("toArray"); 9 ??????????????checklist=decodeURIComponent(checklist,true);10 ??????????????$.post("/sequence.json",{value:checklist,type:typeId}); ?11 ??????????}12 ????}).disableSelection();13 ????14 ????$("#uncheckList").sortable({15 ?????????connectWith:"#checkList"16 ????}).disableSelection();17 ??});18 </script>
 1 ????@ResponseBody 2 ????@RequestMapping(value="/sequence",method=RequestMethod.POST) 3 ????public Integer updateSequence(HttpServletRequest request, HttpServletResponse response, ModelMap model) { 4 ????????Integer classify = getClassify(request); 5 ????????String value=this.getValue(request, "value"); 6 ????????super.logParam(request); 7 ????????String[] attrs=StringUtils.split(value,","); 8 ????????List<CustomColumn> cclist=new ArrayList<CustomColumn>(); 9 ????????for(int sequence=0,len=attrs.length;sequence<len;sequence++){10 ????????????CustomColumn cc=new CustomColumn();11 ????????????cc.setClassify(classify);12 ????????????cc.setFieldName(attrs[sequence]);13 ????????????cc.setSequence(sequence);14 ????????????cclist.add(cc);15 ????????}16 ????????manager.savePointListCustomColumns(cclist, this.getCompanyId(request),classify);17 ????????return 1;18 ????}

完美。

jquery sortable ?提交数据保存 使用问题

原文地址:https://www.cnblogs.com/nanahome/p/9195768.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved