jfinal layui 多選傳值問題整理

 

使用layui在顯示數據表格進行多選的時候遇到的幾個問題:java

一、增長監聽,讓你的數據表格能夠進行復選。jquery

    layui.use('table', function(){
        var $ = layui.jquery;
        var table = layui.table;

        //監聽表格複選框選擇
        table.on('checkbox(table)', function(obj){
            console.log(obj)
        });

二、獲取選擇的項,這裏注意幾點,ajax

一、table.checkStatus('tablelist') 這裏的tablelist是定義的table idsql

<table id="tablelist">

二、使用 checkStatus.data 來獲取數據 ,數據格式爲數組數組

三、定義 數組 ids 來存放id的時候,首先要初始化  var ids=[]; 設置爲數組app

四、ids增長id的時候推薦使用push,刪除id 使用poppost

        $("#sync").on('click',function () {
            var checkStatus = table.checkStatus('tablelist'),data = checkStatus.data;
           var ids=[];
            for(var i=0;i<data.length;i++){
                ids.push(data[i].id);
            }
            console.log(ids);
            $.ajax({
                type : 'post',
                url : '/goController/methon',
                data:{ids:ids},
                success : function(response){
                    parent.layer.alert(response.msg);
                },
                error : function (response) {
                    parent.layer.alert(response.msg);
                }
            });
        });

三、jfinal 在接收傳過來的數組時有指定的方法,getparaValues ,這裏要注意 寫爲 「ids」的時候獲取值爲Null,只有設置爲 ids[] 時候才能夠獲取相關值ui

String[] ids = getParaValues("ids[]");

四、處理ids直接生成 select * from table where id in ("id1","id2");url

使用 Arrays.toString 方法直接轉爲 id1,id2, 這種形式,方便組裝 sqlspa

            String idstr = Arrays.toString(ids);
            idstr = idstr.substring(1,idstr.length()-1);
            sqlstr.append(" and id in (" +idstr +")");

  方法其實挺簡單,做者都提供了,但調試的時候不注意就要浪費不少時間,寫下來做爲備忘。

相關文章
相關標籤/搜索