ligerUI---ListBox(列表框可移动的实例)


Posted in Javascript onNovember 28, 2017

写在前面:

对于可移动的列表框,ligerui中也对其进行了封装,可以直接照着demo拿来用,不过那都是直接在页面上静态初始化的数据,那么如何从后台获取?

前面有了对ligerui的一些组件的使用经验后,在这里其实 对于从后台获取数据在前台页面进行显示,都大同小异。也不是很难。

即要么是在ligerui组件中直接使用其url属性向后台发送请求,要么是单独发送一个ajax请求拿到数据后,通过获取组件,然后设置其data属性。嘿嘿。。

下面就直接使用url属性来发送请求吧。。。。。

前台页面:

<script type="text/javascript">
 var box1,box2;

 $(function() {

  //初始化8个listbox
  box1 = $("#listbox1").ligerListBox({
   isShowCheckBox: true,
   isMultiSelect: true,
   height: 140,
   //发送给后台的请求
   url: '${baseURL}/getDeviceByAll.action',
  });
  box2 = $("#listbox2").ligerListBox({
   isShowCheckBox: true,
   isMultiSelect: true,
   height: 140,

  });

  var tempData2 = [{id:1,text:"aa"},{id:2,text:"bb"}];

  //button点击事件
  $("#btn1").click(function(){
   setListBoxData(tempData2);
  });

 });



 function setListBoxData(tempData2){
  //貌似只能通过id来移除了 用removeItems不可以达到效果
  //例如移除id为1,2的然后添加到左边
  for(var i=0;i<tempData2.length;i++){
   box1.removeItem(tempData2[i].id);
  }
  box2.addItems(tempData2);
 }

 //===========listbox四个按钮点击相关函数===========
 function moveToLeft1()
 {
  var selecteds = box2.getSelectedItems();
  if (!selecteds || !selecteds.length) return;
  box2.removeItems(selecteds);
  box1.addItems(selecteds);

 }

 function moveToRight1()
 {
  var selecteds = box1.getSelectedItems();
  if (!selecteds || !selecteds.length) return;
  box1.removeItems(selecteds);
  box2.addItems(selecteds);


 }
 function moveAllToLeft1()
 {
  var selecteds = box2.data;
  if (!selecteds || !selecteds.length) return;
  box1.addItems(selecteds);
  box2.removeItems(selecteds);

 }
 function moveAllToRight1()
 {
  var selecteds = box1.data;
  if (!selecteds || !selecteds.length) return;
  box2.addItems(selecteds);
  box1.removeItems(selecteds);

 }




</script>
<style type="text/css">
 .middle input {
  display: block;width:30px; margin:2px;
 }
</style>
</head>
<body>

  <div>
   <div style="float:left;font-size:15px;width:150px;text-align: center">Support Devices:</div>
   <div style="margin:4px;float:left;">
    <div id="listbox1"></div>
   </div>
   <div style="margin:4px;float:left;" class="middle">
    <input type="button" onclick="moveToLeft1()" value="<" />
    <input type="button" onclick="moveToRight1()" value=">" />
    <input type="button" onclick="moveAllToLeft1()" value="<<" />
    <input type="button" onclick="moveAllToRight1()" value=">>" />
   </div>
   <div style="margin:4px;float:left;">
    <div id="listbox2"></div>
   </div>
  </div>

  <input type="button" value="点击" id="btn1">


</body>

后台action:

private JSONArray jsonArray;
 public JSONArray getJsonArray() {
  return jsonArray;
 }
 public String getDeviceByAll() throws Exception{
  List<Device> deviceList = deviceService.getAll(Device.class);

  jsonArray = new JSONArray();
  for(Device device:deviceList){
   JSONObject obj = new JSONObject();
   //listbox对应的数据格式要有text、id字段
   obj.put("id",device.getDevId());
   obj.put("text",device.getDevName());
   jsonArray.add(obj);

  }
  return SUCCESS;
 }

好啦,这样就成功了,当然 我这里是省略了后台如何将json数据传递到前台,因为在我写ligerui的其他组件(ligerGrid,ligerForm)的时候已经写过了,就不再重复说了

效果演示截图:(省略向左向右的移动效果图)

ligerUI---ListBox(列表框可移动的实例)

在不勾选数据的情况下,点击“点击”按钮,的效果图如下:
ligerUI---ListBox(列表框可移动的实例)

其实在移除的过程中,一开始使用的removeItems()方法,但是测试貌似不可以移除,故采用removeItem()的方法,根据id来移除。。

Javascript 相关文章推荐
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
Aug 13 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
js操作滚动条事件实例
Jan 29 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
js实现文本框宽度自适应文本宽度的方法
Aug 13 Javascript
jQuery实用技巧必备(上)
Nov 02 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
Feb 08 Javascript
微信小程序登录session的使用
Mar 17 Javascript
js实现消灭星星(web简易版)
Mar 24 Javascript
基于vue2实现上拉加载功能
Nov 28 #Javascript
微信小程序模板和模块化用法实例分析
Nov 28 #Javascript
基于Vue的移动端图片裁剪组件功能
Nov 28 #Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
Nov 28 #Javascript
基于Vue框架vux组件库实现上拉刷新功能
Nov 28 #Javascript
JavaScript中关于class的调用方法
Nov 28 #Javascript
基于vue+canvas的excel-like组件实例详解
Nov 28 #Javascript
You might like
js对象数组按属性快速排序
2011/01/31 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
Python编码类型转换方法详解
2016/07/01 Python
python基于ID3思想的决策树
2018/01/03 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
python如何快速生成时间戳
2020/07/21 Python
python实现逻辑回归的示例
2020/10/09 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
四年级下册教学反思
2014/02/01 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
毕业生工作求职信
2014/06/30 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
Python 匹配文本并在其上一行追加文本
2022/05/11 Python