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

前端之家收集整理的这篇文章主要介绍了ligerUI---ListBox(列表框可移动的实例)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

写在前面:

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

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

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

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

前台页面

Box1,Box2;

$(function() {

//初始化8个listBox
Box1 = $("#listBox1").ligerListBox({
isShowCheckBox: true,isMultiSelect: true,height: 140,//发送给后台的请求
url: '${baseURL}/getDeviceByAll.action',});
Box2 = $("#listBox2").ligerListBox({
isShowCheckBox: true,});

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);

}