搜尋
首頁web前端Layui教程layui事件監聽介紹

layui事件監聽介紹

Jun 03, 2020 pm 05:13 PM
layui

layui事件監聽介紹

一、表單的事件監聽

#1、lay-filter 事件篩選器

相當於選擇器,layui的專屬選擇器

2、lay-verify 驗證屬性

屬性值可以是:required 必填項,phone手機號,email郵箱,url網址,number數字,date日期,identity身份證。這個相當於正規判斷,當然你也可以定義自己的正規則,做一些複雜的判斷,例如:

    <input type="text" lay-verify="required">
    //这里写required就是必填项的意思,相反phone就是手机号,
    如果是多个判断可以这样:ay-verify="required|phone",手机号必填。

如果說我要複雜的判斷怎麼弄呢?我們需要先引用form模組

    layui.use(&#39;form&#39;,function()
    {
        var form = layui.form;
        //自定义一个验证器
        form.verify({
            account:[
            &#39;正则&#39;
            ,&#39;提示语句&#39;
            ]
            ,pass:[
            &#39;正则&#39;
            ,&#39;提示语句&#39;
            ]
            
        });
        
    })

當我們,寫完驗證規則後,只需要把自己定義的名字,如上面的account寫到lay-verify="account"裡面就好了,那麼對這個規則驗證就弄完了。

3、lay-submit  綁定觸發提交的元素

在input的submit按鈕標籤裡,加上這麼一個屬性,那layui表單的驗證效果才會出來。

4、form.on事件

form.on(&#39;event(lay-filter)&#39;,function(){
    
})

其中,event可以是radio,checkbox,submit等元素,其中的lay-filter就是我們加的事件過濾器屬性值,例如:

<input type="submit" lay-filter="go" lay-submit value="提交"/>

對就是這個lay-filter=" "裡面的值,好了就只需要這兩個屬性,就可以執行我們對應的事件了。

二、表單事件監聽

在開始介紹前,我們可以從這張圖中,捋一捋思路。

layui事件監聽介紹

好了好了,我們來解決問題! !先建立一個table標籤

<table id="demo" lay-filter="table"></table>

1、表頭工具列

這個layui的表頭工具列是獨立於表格的,是附加上去的,就是把一個盒子放到表格上面,這樣通俗易懂了吧!
第一步,所以我們先建立一個盒子,但是這是一個特殊的盒子,我們需要對其隱藏

<div class="layui-hide layui-btn-group" id="toolbar">
    <button class="layui-btn " lay-event="getall">查看所选数据</button>
    <button class="layui-btn " lay-event="getnum">查看所选数量</button>
    <button class="layui-btn  layui-btn-danger" lay-event="delall">批量删除</button>
</div>

思考問題

#其中有三個屬性需要注意,layui -hide隱藏屬性,layui-btn-group群組按鈕,lay-event事件的名稱。

如何去辨別我們的操作呢,就是對layui-event設定的不同的值,來進行不同的行為。

第二步,我們在表格模組裡引入我們的頭部盒子,然後監聽事件,來看我們的程式碼吧!

    layui.use(&#39;table&#39;,function(){
       var table = layui.table;
       table.render({
           elem:&#39;#demo&#39;//表格ID
           ,url:&#39;数据接口&#39;
           ,toolbar:&#39;#toolbar&#39;//开启头部栏,写入我们的盒子id
           ,cols[[…………]]
       });
    });

到此為止我們的表格渲染就完畢了,開始事件!

    table.on(&#39;event(lay-filter)&#39;,function(obj){ 
    //这是格式,event有toolbar头部栏事件,tool行标签事件,edit编辑事件,等等,
    括号里的当然就是我们给表格设置的lay-filter属性啦!
    obj是这个表格里所有的数据,我们可以console.log(obj)来查看有哪些数据!!
    })

好了格式差不多介紹完了,開始接著上面的打

    table.on(&#39;toolbar(table)&#39;,function(obj){//我给表格设置的lay-filter叫table
        var checkStatus = table.checkStatus(&#39;demo&#39;)//表格id,获取选中行
        //嘿嘿,到了这,我好像说复选框怎么打了,很简单的,{type:&#39;checkbox&#39;,fixed:&#39;left&#39;},写到cols里
        switch(obj.event)//对lay-event的值,进行不同的判断
        {
            case &#39;getall&#39;:
                 layer.msg(JSON.stringify(checkStatus.data));
                break;
            case &#39;getnum&#39;:
                layer.msg(JSON.stringify(checkStatus.data.length));
                break;
            case &#39;delall&#39;:
            //这是我自己打的一个批删,道理都差不多,遍历拿到id传到后台处理!
                var a = [];
                        for (var i = 0; i < checkStatus.data.length; i++) {
                            a.push(checkStatus.data[i].ProductID)
                        }
                        console.log(checkStatus)
                        let strid = a.toString();
                        let num = checkStatus.data.length;
                        if (num != 0) {
                            $.ajax({
                                url: &#39;/JD/ShopDelAll?strid=&#39; + strid
                                , type: &#39;Delete&#39;
                                , success: function (d) {
                                    layer.msg("删除了" + num + "条数据");
                                    location.href = &#39;/JD/ShopList&#39;;
                                }
                            })
                        }
                        else {
                            layer.msg("至少选择一个!")
                        }
                        break;
                break;
            
        }
        
    });

2、表格的行工具列

其實道理都差不多啦,也是把一個盒子附加到表格裡,只不過是每行都有,所以把我們加的程式碼,寫道cols屬性裡就好了! !
建立一個盒子

<div class="layui-hide layui-btn-group" id="tool">
    <a class="layui-btn layui-btn-warm" lay-event="particulars">查看</a>
    <a class="layui-btn layui-btn-normal" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger" lay-event="delid">删除</a>
</div>

事件監聽

這個就簡單了哈,咋們前面取得選取狀態是不是用了checkStats,對! ! !

我們這裡不用了,哈哈,直接obj.data就能取得資料

table.on(&#39;tool(table2)&#39;, function (obj) {
                switch (obj.event) {
                    case &#39;particulars&#39;:
                        location.href = "/JD/Particulars?productID=" + obj.data.ProductID;
                        break;//获取id跳转到详情页
                    case &#39;delid&#39;:
                        $.ajax({
                            url: &#39;/JD/ShopDelAll?strid=&#39; +  obj.data.ProductID
                            , type: &#39;Delete&#39;
                            , success: function (d) {
                                obj.del();
                                layer.msg("删除成功");
                            }
                        })
                        break;//这是我的一个ajax删除方法了,记得删除后要有obj.del()哦,否则数据是不会更新的!
                    case &#39;edit&#39;:
                        layer.msg("功能暂未开放,你没有权限");
                        //嘿嘿,修改和删除差不多啦
                        break;
                }

更多layui知識請關注PHP中文網layui教學欄位

以上是layui事件監聽介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:juejin。如有侵權,請聯絡admin@php.cn刪除
如何使用Layui的流塊模塊進行無限滾動?如何使用Layui的流塊模塊進行無限滾動?Mar 18, 2025 pm 01:01 PM

文章討論了使用Layui的流量模塊進行無限滾動,涵蓋設置,最佳實踐,性能優化和自定義,以增強用戶體驗。

如何使用Layui的元素模塊來創建選項卡,手風琴和進度條?如何使用Layui的元素模塊來創建選項卡,手風琴和進度條?Mar 18, 2025 pm 01:00 PM

本文詳細介紹瞭如何使用Layui的元素模塊來創建和自定義UI元素,例如選項卡,手風琴和進度條,突出顯示HTML結構,初始化和常見的陷阱,以避免。

如何自定義Layui旋轉木製模塊的外觀和行為?如何自定義Layui旋轉木製模塊的外觀和行為?Mar 18, 2025 pm 12:59 PM

本文討論了自定義Layui的Carousel模塊,重點介紹了外觀和行為的CSS和JavaScript修改,包括過渡效果,自動播放設置以及添加自定義導航控件。

如何使用Layui的旋轉木載模塊來創建圖像滑塊?如何使用Layui的旋轉木載模塊來創建圖像滑塊?Mar 18, 2025 pm 12:58 PM

該文章指導使用Layui的Carousel模塊用於圖像滑塊,詳細介紹設置的步驟,自定義選項,實現自動播放和導航以及性能優化策略。

如何將Layui的上傳模塊配置為限製文件類型和尺寸?如何將Layui的上傳模塊配置為限製文件類型和尺寸?Mar 18, 2025 pm 12:57 PM

本文討論了使用Accept,Exts和Size屬性來限制Layui的上傳模塊,以限製文件類型和尺寸,並自定義錯誤消息以違反。

如何使用Layui的圖層模塊來創建模態窗口和對話框?如何使用Layui的圖層模塊來創建模態窗口和對話框?Mar 18, 2025 pm 12:46 PM

本文介紹瞭如何使用Layui的圖層模塊創建模態窗口和對話框,詳細設置,類型,自定義和常見的陷阱要避免。

Layui與其他CSS框架(如Bootstrap和Sminantic UI)相比如何?Layui與其他CSS框架(如Bootstrap和Sminantic UI)相比如何?Mar 14, 2025 pm 07:29 PM

Layui以簡單性和性能而聞名,與Bootstrap和Sminantic UI進行了比較,並易於設計。 Layui在模塊化和中文支持方面表現出色。(159個字符)

除了典型的Web應用程序之外,Layui的高級用例有哪些?除了典型的Web應用程序之外,Layui的高級用例有哪些?Mar 14, 2025 pm 07:28 PM

Layui超出了基本的Web應用程序,可以通過其模塊化設計和豐富的UI組件來增強企業級用戶體驗。(159個字符)增強了企業級用戶體驗。(159個字符)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。