zoukankan      html  css  js  c++  java
  • coding++ :Layui-监听事件

    在使用layui的form表单做验证提交的时候,如果结合vue,或者是三级联动的时候,就需要做事件监听了。

    具体语法:

    form.on('event(过滤器值)', callback);

    可以用于监听:select,checkbox,switch,radio,submit 的改变

    1):监听select的改变

    复制代码
    <!-- 不用form 用div也可以 -->
    <form class="layui-form">
        <div class="layui-form-item">
            <label class="layui-form-label">下拉选择框</label>
            <div class="layui-input-block">
                <select name="interest" lay-filter="aihao">
                    <option value="0">写作</option>
                    <option value="1">阅读</option>
                    <option value="2">听歌</option>
                    <option value="4">游戏</option>
                </select>
            </div>
        </div>
    </form>
    <script type="text/javascript" src="./layui/layui.js"></script>
    <script type="text/javascript">
    layui.use('form', function(){
        var form = layui.form;
        form.on('select(aihao)',function(data){
            console.log(data);
            console.log(data.elem); //得到select原始DOM对象
            console.log(data.value); //得到被选中的值
            console.log(data.othis); //得到美化后的DOM对象
        });
    });
    </script>
    复制代码

    同理,监听checkbox复选

    复制代码
    form.on('checkbox(filter)', function(data){
        console.log(data.elem); //得到checkbox原始DOM对象
        console.log(data.elem.checked); //是否被选中,true或者false
        console.log(data.value); //复选框value值,也可以通过data.elem.value得到
        console.log(data.othis); //得到美化后的DOM对象
    });
    复制代码

    监听switch开关:

    复制代码
    form.on('switch(filter)', function(data){
      console.log(data.elem); //得到checkbox原始DOM对象
      console.log(data.elem.checked); //开关是否开启,true或者false
      console.log(data.value); //开关value值,也可以通过data.elem.value得到
      console.log(data.othis); //得到美化后的DOM对象
    }); 
    复制代码

    监听radio单选:

    form.on('radio(filter)', function(data){
        console.log(data.elem); //得到radio原始DOM对象
        console.log(data.value); //被点击的radio的value值
    });

    监听submit提交:

    复制代码
    <button lay-submit lay-filter="*">提交</button>
    form.on('submit(*)', function(data){
        console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
        console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
        console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
        return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
    });
    复制代码

     

  • 相关阅读:
    javascript中无法通过div.style.left获取值的问题
    《Javascript高级程序设计第3版》精华总结
    前端面试笔试题回顾
    HTML 代码复用实践 (静态页面公共部分提取复用)
    将本地文件上传到远程库(二)
    ife-task0003学习收获总结
    将本地项目上传到git总结
    Minimum Size Subarray Sum —— LeetCode
    Binary Tree Preorder Traversal —— LeetCode
    Insertion Sort List —— LeetCode
  • 原文地址:https://www.cnblogs.com/codingmode/p/11770887.html
Copyright © 2011-2022 走看看