Lauiui イベント監視の概要

リリース: 2020-06-03 17:13:45
転載
14485 人が閲覧しました

Lauiui イベント監視の概要

1. フォーム イベント監視

1. レイ フィルター イベント フィルター

はセレクター、layui Exclusive と同等です。 selector

2、lay-verify 検証属性

属性値には、必須、電話番号、電子メール アドレス、URL、番号、日付、ID カードを指定できます。これは通常の判断と同等です。もちろん、独自の通常のルールを定義して、たとえば次のような複雑な判断を行うこともできます。最初にフォーム モジュールを参照する必要があります

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

検証ルールの記述が完了したら、上記のアカウントなどの定義した名前をlay-verify="account"に書き込むだけで済みます。ルールの検証が完了しました。

3. Lay-submit 送信をトリガーする要素をバインドします

入力の送信ボタンラベルに、このような属性を追加すると、Layui フォームの検証効果が出ます。

4. form.on イベント

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

このうち、event は radio、checkbox、submit などの要素で、lay-filter は追加したイベント フィルター属性値です。 :

form.on(&#39;event(lay-filter)&#39;,function(){
    
})
ログイン後にコピー

はい、これはこのlay-filter=" "の値です。対応するイベントを実行するために必要なのは、これら 2 つの属性だけです。

2. フォーム イベントの監視

導入を開始する前に、この図からいくつかのアイデアを得ることができます。

#わかった、わかった、問題を解決しましょう! !まずテーブル タグを作成しますLauiui イベント監視の概要

<input type="submit" lay-filter="go" lay-submit value="提交"/>
ログイン後にコピー

1. ヘッダー ツールバー

このlayuiヘッダー ツールバーはテーブルから独立しており、テーブルにアタッチされています。つまり、テーブルの上にボックスを配置することになります。わかりやすい!

最初のステップなので、最初にボックスを作成しますが、これは特別なボックスなので、非表示にする必要があります

<table id="demo" lay-filter="table"></table>
ログイン後にコピー

問題について考える

必要な属性が 3 つあります。 layui -hide 隠し属性、layui-btn-group グループ ボタン、lay-event イベント名に注意してください。

操作を識別する方法は、layui-event に異なる値を設定して、異なる動作を実行することです。

2 番目のステップは、テーブル モジュールにヘッダー ボックスを導入し、イベントをリッスンすることです。コードを見てみましょう。

<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.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)来查看有哪些数据!!
    })
ログイン後にコピー

2. テーブル行ツールバー

実際、原則は似ています。テーブルでは、これはすべての行に存在するだけなので、追加したコードをcols属性に記述するだけです。 !

ボックスの作成

    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;
            
        }
        
    });
ログイン後にコピー

イベント監視

これは簡単です。以前に選択されたステータスを取得するために checkStats を使用しましたか? はい! ! !

ここでは必要ありません (笑)、obj.data から直接データを取得できます

<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>
ログイン後にコピー
詳細については

layui

PHP 中国語に注意してくださいウェブサイト

layuiチュートリアルコラム

以上がLauiui イベント監視の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート