検索

一般的なレイウイの方法

Nov 16, 2019 pm 05:41 PM
layui

layui(同音異義語:UI風)は、独自のモジュール仕様で書かれたフロントエンドUIフレームワークで、ネイティブHTML/CSS/JSの書き方や構成形式に準拠しています。箱の。

一般的なレイウイの方法

layui で一般的に使用されるメソッド:

layui の入力ラジオ ラジオ ボタンは、選択トリガー イベントをリッスンします:

入力にバインドされたレイフィルターに基づいて入力を検索し、関数判定を入力します。

<div class="layui-form-item">
            <label class="layui-form-label">长期短期</label>
            <div class="layui-input-block">
                <input type="radio" name="term" value="长期" title="长期有效"
                    lay-filter="term"> <input type="radio" name="term"
                    value="短期" title="短期有效" lay-filter="term">
            </div>
        </div>

        <div id="termtime" class="layui-hide">
            <div id="classdate" class="layui-form-item" >
                <label class="layui-form-label">开始时间:</label>
                <div class="layui-input-block">
                    <input type="text" name="startdate" id="startdate"
                        lay-verify="startdate" autocomplete="off" class="layui-input">
                </div>
                <label class="layui-form-label">结束时间:</label>
                <div class="layui-input-block">
                    <input type="text" name="enddate" id="enddate"
                        lay-verify="enddate" autocomplete="off" class="layui-input">
                </div>
            </div>
        </div>
form.on(&#39;radio(term)&#39;, function(data) {

            if (data.value == "短期") {
                $("#termtime").removeClass("layui-hide");
            } else if (data.value == "长期") {
                $("#termtime").addClass("layui-hide");
            }
        });

ステータス条件に応じて異なるボタンを表示するようにボタンを設定します。

<script type="text/html" id="toolbtn">

{{#  if(d.state == true){}}
           <a  class="layui-btn layui-btn-mini layui-btn-danger" lay-event="down">下线</a>
      {{#  } else { }}
         <a class="layui-btn layui-btn-mini " lay-event="up">发布</a>
  {{#  } }}
</script>

さまざまなポップアップ ウィンドウ:

注: 一部のモジュールでは既にレイヤーが宣言されており、一部のモジュールでは宣言されていないため、ここではlayui.layer メソッドを使用してレイヤーを呼び出します。ポップアップ レイヤー:

半透明の黒い背景のプロンプト ボックス、666 ミリ秒で自動的に閉じます:

layui.layer.msg(returndata.msg,{time: 666});

青いモジュール、左側にアニメーションがポップアップし、[OK] ボタンが付いています

layui.use(&#39;layer&#39;, function() {
                 layer.alert(returndata.msg, {
                        skin: &#39;layui-layer-lan&#39;
                        ,closeBtn: 0
                        ,anim: 4 //动画类型
                      });
                });

入力には数値のみを入力でき、他の入力と小数点は入力できません

<input type="text" id="num" name="num" placeholder="请输入" 
autocomplete="off" class="layui-input"  onkeyup="this.value=this.value.replace(/\D/g,&#39;&#39;)" 
onafterpaste="this.value=this.value.replace(/\D/g,&#39;&#39;)">

layui マスク レイヤー、アップロードが開始され、成功後にマスク レイヤーを閉じます

<script type="text/javascript">

function  tanchu(){
    layui.use(&#39;layer&#39;, function(){
          var layer = layui.layer;
          
          var index = layer.load(1, {
              shade: [0.1,&#39;#fff&#39;] //0.1透明度的白色背景
            });
        }); 
}
function  tanchuclose(){
    layui.use(&#39;layer&#39;, function(){
          var layer = layui.layer;
          
          layer.close(layer.index);
        }); 
}
</script>
<script type="text/javascript">
        function upload(){
             tanchu();
             var formData = new FormData($( "#uploadForm" )[0]);  
             $.ajax({  
                  url: &#39;<%=basePath%>/knowledge/upload&#39; ,  
                  type: &#39;POST&#39;,  
                  data: formData,  
                  async: false,  
                  cache: false,  
                  contentType: false,  
                  processData: false,  
                  success: function (returndata) { 
                     
          
                      tanchuclose();
                      alert(returndata);
                  },  
                  error: function (returndata) {  
                      alert(returndata);  
                  }  
             });  
        }
        
        
    </script>

クリックして変更:

if(obj.event === &#39;setSign&#39;){
        layer.prompt({
            formType: 2
            ,title: &#39;修改 ID 为 [&#39;+ data.id +&#39;] 的角色页面&#39;
            ,value: data.homePage
          }, function(value, index){
            layer.close(index);
            
            $.ajax({
                type:"post",
                url:"<%=basePath%>/sys/role/update",
                data:{role:JSON.stringify(data)},
                dataType:"text",//返回的
                success:function(data1) {
                    layer.alert(data1.result);
                    table.reload(&#39;idTest&#39;, {
                        //url: &#39;../user/selectmsguser.do&#39;
                        url: &#39;<%=basePath%>/sys/role/list1?q=1&#39;
                        ,where: {} 
                        //,height: 300
                      });
                },
                error:function(msg) {
                    cosole.log(msg);
                }
            }); 
            obj.update({
              sign: value
            });
          });
        }

#日付を時、分、秒に書式設定: #

<script type="text/html" id="timeTpl">
{{#  var fn = function(){
var date=new Date(d.uptime);
var d1=date.getDate();
var y=date.getFullYear();
var m=date.getMonth() + 1;
var HH=date.getHours();
var mm=date.getMinutes();  
var ss=date.getSeconds(); 
  return y+&#39;/&#39;+m+&#39;/&#39;+d1+&#39;  &#39;+HH+&#39;:&#39;+mm+&#39;:&#39;+ss;
}; if(true){ }}
 {{ fn() }}
{{#  } }}
</script>

時刻と日付の書式設定:

<script type="text/html" id="timeTpl">
{{#  var fn = function(){
var date=new Date(d.createtime);
var d1=date.getDate();
var y=date.getFullYear();
var m=date.getMonth() + 1;
  return y+&#39;/&#39;+m+&#39;/&#39;+d1;
}; if(true){ }}
 {{ fn() }}
{{#  } }}
</script>

パスワード表示** ***:

<script type="text/html" id="pwd">
 {{#  var fn = function(){
  return &#39;***&#39;;
}; if(true){ }}
 {{ fn() }}
{{#  } }}   
</script>

ステータスバー:

<script type="text/html" id="barDemo1">
<a class="layui-btn layui-btn-mini" id="edit" lay-event="edit">保存</a>
<a class="layui-btn layui-btn-danger layui-btn-mini" lay-event="del">冻结</a>
</script>
<script type="text/html" id="usernameTpl">
  <a href="/?table-demo-id={{d.id}}" class="layui-table-link" target="_blank">{{ d.username }}</a>
</script>

リモートデータ取得:

#

<script type="text/javascript">

        layui.use(&#39;form&#39;, function() {
            var form = layui.form;
            $("#tname").children().remove();
            $.ajax({
                type : "post",
                url : "../user/selectallusersrole.do?role=3",
                dataType : "json",
                sync : "false",
                success : function(data) {
                    for (var a = 0; a < data.data.length; a++) {
                        $("#tname").append(
                                "<option class=&#39;tname&#39; value="+data.data[a].id+" >"+ data.data[a].urealname + "</option>")
                    }
                    form.render(&#39;select&#39;); //用ajax追加的需要这样渲染一下
                    
                },
                error : function() {
                }
            })
            
            $("#urealname").children().remove();
            $.ajax({
                type : "post",
                url : "../user/selectallusersrole.do?role=4",
                dataType : "json",
                sync : "false",
                success : function(data) {
                    for (var a = 0; a < data.data.length; a++) {
                        $("#urealname").append(
                                "<option class=&#39;name&#39; value="+data.data[a].id+" >"+ data.data[a].urealname + "</option>")
                    }
                    form.render(&#39;select&#39;); //用ajax追加的需要这样渲染一下
                    
                },
                error : function() {
                }
            })
            $("#cname").children().remove();
            $.ajax({
                type : "post",
                url : "../class/selectclass.do",
                dataType : "json",
                sync : "false",
                success : function(data) {
                    for (var a = 0; a < data.data.length; a++) {
                        $("#cname").append(
                                "<option class=&#39;tname&#39; value="+data.data[a].cid+" >"+ data.data[a].cname + "</option>")
                    }
                    form.render(&#39;select&#39;); //用ajax追加的需要这样渲染一下
                    
                },
                error : function() {
                }
            })
            
            //form.on(&#39;select(username)&#39;, function(data) {//给隐藏的input赋值(机构id)
                //$("#yincang").val(data.value);
            //});
            
        });
    </script>
フォームは値データを取得します:

function formLoad(element,data){
   var input = document.getElementById(element).getElementsByTagName(&#39;input&#39;);
   for(var i =0;i < input.length;i++){ 
  var inputname = input[i].name;
      for(var j in data){
         if(inputname == j){
         input[i].value = data[j];
         }    
      }    
   }
  }
#これは検索ボタンです。クリックするとリロードがトリガーされます:

<div class="demoTable">
                        搜索角色:
                        <div class="layui-inline">
                            <input class="layui-input" name="name" id="demoReload"
                                autocomplete="off">
                        </div>
                        <button class="layui-btn" style="transform: translateY(-10px);"
                            data-type="reload">搜索</button>
                    </div>

これはリロード イベントです:

オーバーロードされた URL を指定する必要はなく、テーブルの ID に従ってリロードするだけで済みます。通常のタグの id="idno" ではなく、layui で宣言された ID です。次に、where

<script>
layui.use(&#39;table&#39;, function(){
  var table = layui.table;
  var $ = layui.$, active = {
    reload: function(){
      var demoReload = $(&#39;#demoReload&#39;);
      
      //执行重载
      table.reload(&#39;idTest&#39;, {
        page: {
          curr: 1 //重新从第 1 页开始
        },
        where: {
          name:  demoReload.val() 
        }
      });
    }
  };
  
  $(&#39;.demoTable .layui-btn&#39;).on(&#39;click&#39;, function(){
    var type = $(this).data(&#39;type&#39;);
    active[type] ? active[type].call(this) : &#39;&#39;;
  });
});
</script>

にパラメータを渡します。追加または変更します。ページを開いた後、ページを閉じてリロードします。元のページのデータ テーブル

$("#addBookbtn").click(function(){
          layer.open({
              type: 2,
              title:[&#39;添加新书信息&#39;,&#39;font-size:22px&#39;],
              area: [&#39;400px&#39;, &#39;420px&#39;],
              content: &#39;../jsp/addbook.jsp&#39;,
              cancel: function(index, layero){ 
                  layer.confirm(&#39;是否关闭?&#39;, {icon: 3, title:&#39;提示&#39;}, function(index){
                      layer.close(index);
                      table.reload("booktable");
                    });
                }   
            });
      });

layui 関連の知識については、ご注意くださいlayuiframework

以上が一般的なレイウイの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は博客园で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。