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

写在前面:

对于可移动的列表框,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)的时候已经写过了,就不再重复说了

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

在不勾选数据的情况下,点击“点击”按钮,的效果图如下:

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

(0)

相关推荐

  • JavaScript控制listbox列表框的项目上下移动的方法

    本文实例讲述了JavaScript控制listbox列表框的项目上下移动的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以控制listbox内的元素向上或者向下移动,这个功能非常有用.下面是详细的代码 复制代码 代码如下: function listbox_move(listID, direction) {     var listbox = document.getElementById(listID);     var selIndex = listbox.selectedInd

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

    写在前面: 对于可移动的列表框,ligerui中也对其进行了封装,可以直接照着demo拿来用,不过那都是直接在页面上静态初始化的数据,那么如何从后台获取? 前面有了对ligerui的一些组件的使用经验后,在这里其实 对于从后台获取数据在前台页面进行显示,都大同小异.也不是很难. 即要么是在ligerui组件中直接使用其url属性向后台发送请求,要么是单独发送一个ajax请求拿到数据后,通过获取组件,然后设置其data属性.嘿嘿.. 下面就直接使用url属性来发送请求吧..... 前台页面: <s

  • ASP.NET中 ListBox列表框控件的使用方法

    ListBox 控件允许用户从预定义的列表中选择一个或多个项.它与 DropDownList 控件的不同之处在于,它不但可以一次显示多个项,而且(可选)还允许用户选择多个项. 一.属性 属性 值 作用 SelectionMode Single|Multiple 列表选择模式:单选|多选 Selected False|True 是否为选中状态 二.示例 ListBox.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup=&q

  • Python wxPython库使用wx.ListBox创建列表框示例

    本文实例讲述了Python wxPython库使用wx.ListBox创建列表框.分享给大家供大家参考,具体如下: 如何创建一个列表框? 列表框是提供给用户选择的另一机制.选项被放置在一个矩形的窗口中,用户可以选择一个或多个.列表框比单选按钮占据较少的空间,当选项的数目相对少的时候,列表框是一个好的选择.然而,如果用户必须将滚动条拉很远才能看到所有的选项的话,那么它的效用就有所下降了.下图显示了一个wxPython列表框. 在wxPython中,列表框是类wx.ListBox的元素.该类的方法使

  • JavaScript列表框listbox全选和反选的实现方法

    本文实例讲述了JavaScript列表框listbox全选和反选的实现方法.分享给大家供大家参考.具体分析如下: 通过JS代码对列表框进行全选和反选是经常要操作的,非常具有实用价值. function listboxSelectDeselect(listID, isSelect) { var listbox = document.getElementById(listID); for(var count=0; count < listbox.options.length; count++) {

  • JavaScript控制两个列表框listbox左右交换数据的方法

    本文实例讲述了JavaScript控制两个列表框listbox左右交换数据的方法.分享给大家供大家参考.具体分析如下: 这个功能我们经常用到,将左边列表框的元素移动到右边,或者将右边列表框的元素移动到左边,可以一次性全部移动 复制代码 代码如下: function listbox_moveacross(sourceID, destID) {     var src = document.getElementById(sourceID);     var dest = document.getEl

  • C#列表框、复选列表框、组合框的用法实例

    本文实例讲述了C#列表框.复选列表框.组合框的用法.分享给大家供大家参考.具体分析如下: 功能实现效果如下图所示: 实现代码: 1.声明相关变量存储专业.课程设置及相关信息: 复制代码 代码如下: string gr, msg, xy; string[] spec, cour1, cour2, cour3, cour4, cour5; 2.在Form1类中自定义函数bool checkGR()检查学生信息: 复制代码 代码如下: private bool checkGR() {     bool

  • Python tkinter 列表框Listbox属性详情

    目录 1 属性 1.1 activestyle 1.2 background(bg) 1.3 borderwidth(bd) 1.4 cursor 1.5 disabledforeground 1.6 exportselection 1.7 font 1.8 foreground(fg) 1.9 height 1.10 highlightbackground.highlightcolor和highlightthickness 1.11 listvariable 1.12 relief 1.13

  • PHP+Mysql+jQuery查询和列表框选择操作实例讲解

    本文讲解如何通过ajax查询mysql数据,并将返回的数据显示在待选列表中,再通过选择最终将选项加入到已选区,可以用在许多后台管理系统中.本文列表框的操作依赖jquery插件. HTML <form id="sel_form" action="post.php" method="post"> <p><input type="text" name="keys" id="

  • JavaScript实现动态删除列表框值的方法

    本文实例讲述了JavaScript实现动态删除列表框值的方法.分享给大家供大家参考.具体如下: 使用JavaScript 动态删除列表框中的值,实际运用中可能效果会比较复杂,这只是一个基本功能单元,很多都是在此基础上扩展而来,运行代码点击"删除",会将列表框中的值一一删除,只保留一项数据. 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

随机推荐