ligerUI---ListBox(列表框可移動)

来源:http://www.cnblogs.com/eleven258/archive/2017/11/28/7904826.html
-Advertisement-
Play Games

寫在前面: 對於可移動的列表框,ligerui中也對其進行了封裝,可以直接照著demo拿來用,不過那都是直接在頁面上靜態初始化的數據,那麼如何從後臺獲取? 前面有了對ligerui的一些組件的使用經驗後,在這裡其實 對於從後臺獲取數據在前臺頁面進行顯示,都大同小異。也不是很難。 即要麼是在liger ...


寫在前面:

  對於可移動的列表框,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來移除。。

額呃呃呃呃呃呃呃呃呃。。今天不用加班啦。。開心。。。。。。。。。。。。。。。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.首先要下載PHPExcel放到vendor文件夾下,我的路徑是:項目/vendor/PHPExcel/,把下載的PHPExcel文件放在這裡 2.前端代碼 3.後臺代碼 輸出結果: 註意: 引入第三方類庫使用vendor();是按照命名空間的形式。底層代碼會把“ . ”自動替換成" / ",所以 ...
  • 1 非對稱加密演算法 1.1 概述 1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是“公開密鑰系統”。 與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey ...
  • 原文:http://blog.csdn.net/u012152619/article/details/51485297 一般來說,上面的幾個配置項對任何項目都是必不可少的,定義了項目的基本屬性。 這裡有必要對一個不太常用的屬性classifier做一下解釋,因為有時候引用某個jar包,classif ...
  • 本節內容 - 什麼是方法集 - 方法集區分基礎類型T和指針類型*T - 匿名嵌入對方法集的影響 - 方法集調用 ...
  • 語法: mvn install:install-file -Dfile=jar包的位置(參數一) -DgroupId=groupId(參數二) -DartifactId=artifactId(參數三) -Dversion=version(參數四) -Dpackaging=jar 我把“ojdbc-1 ...
  • JAVA靜態代碼塊會在類被載入時自動執行? 一、先看Java靜態方法,靜態變數 http://www.cnblogs.com/winterfells/p/7906078.html 靜態代碼塊 在類中,可以將某一塊代碼聲明為靜態的,這樣的程式塊叫靜態初始化段。靜態代碼塊的一般形式如下: 編譯通過後,用 ...
  • 上邊有字元串複製直接使用賦值號。 string1=string2; 實際上他執行的是什麼操作? strcpy(string1,string2); ...
  • 首先題主說的20%我不知道從哪方面去理解。接下來我會將自己多年來工作中會經常使用到的技術列出來。 1.html、css 2.java工作原理(jvm) 3.java語法、數據結構和演算法 4.java語言特性(封裝、繼承、多態、抽象) 5.java設計模式(在開發中會經常用到) 6.java反射機制( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...