layui+formSelects实现下拉多选菜单几十种示例代码
代码语言:html
所属分类:表单美化
代码描述:layui+formSelects实现下拉多选菜单几十种示例代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BFW NEW PAGE</title> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/formSelects-v4.css"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/layui/layui.js"></script> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/js/layui/css/layui.css"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/formSelects-v4.min.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/highlight.js"></script> </head> <body> <blockquote class="layui-elem-quote layui-quote-nm" id="examples"> 示例 </blockquote> <div class="example"> <h3 id="select_default" title=" 1) 基础多选">基础多选</h3> <p> 适用性较广的基础多选,用 Tag 展示已选项 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select1"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_pane" title=" 2) pane模式">pane模式</h3> <p> layui pane模式 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form layui-form-pane"> <div class="layui-form-item"> <label class="layui-form-label">多选框</label> <div class="layui-input-block"> <select name="city" xm-select="select2"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected" disabled="disabled">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> </div> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_group" title=" 3) 分组多选">分组多选</h3> <p> 基于layui的分组多选 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select3"> <optgroup label="分组1"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> </optgroup> <optgroup label="分组2"> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </optgroup> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_tips" title=" 4) 自定义tips">自定义tips</h3> <p> 写一个空的option放在第一个 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select4"> <option value="">啦啦, 我是自定义的</option> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_max" title=" 5) 多选上限">多选上限</h3> <p> xm-select-max="3", 超过3个后, 默认闪烁红框提示 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select5" xm-select-max="3"> <option value="">啦啦, 我是自定义的</option> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 当然, 如果你初始化值就多于max值, 那是可以设置成功滴, 取消了就选不回来了 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select5_2" xm-select-max="3"> <option value="">啦啦, 我是自定义的</option> <option value="1" disabled="disabled" selected="selected">北京</option> <option value="2" selected="selected">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_skin" title=" 6) 多选皮肤">多选皮肤</h3> <p> xm-select-skin="default" </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select6_1" xm-select-skin="default"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> xm-select-skin="primary", 这个墨绿style已经被内置成为了经典皮肤, 只因他诞生于layui的经典颜色 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select6_2" xm-select-skin="primary"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> xm-select-skin="normal" </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select6_3" xm-select-skin="normal"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> xm-select-skin="warm" </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select6_4" xm-select-skin="warm"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> xm-select-skin="danger" </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select6_5" xm-select-skin="danger"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_search_local" title=" 7) 本地搜索">本地搜索</h3> <p> xm-select-search, 搜索已存在的option </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select7_1" xm-select-search> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 分组中的搜索 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select7_2" xm-select-search> <optgroup label="分组1"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> </optgroup> <optgroup label="分组2"> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </optgroup> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_search_server" title=" 8) 远程搜索">远程搜索</h3> <p> xm-select-search="/search", 指定一个url, 将开启远程搜索模式 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select8" xm-select-search="https://www.fastmock.site/mock/29487363107ab7d242c46305cadf4c52/formSelects/layui/data"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> <p> 远程搜索response结构, 其中name, value可以自定义, 请查看<a href="#methods-config">method config</a> </p> <p> code为0时, 表示正常, 不为0时则提示msg信息 </p> <pre class="brush: js"> { "code": 0, "msg": "success", "data": [ {"name":"北京","value":1,"selected":"","disabled":""}, {"name":"上海","value":2,"selected":"","disabled":""}, {"name":"广州","value":3,"selected":"selected","disabled":""}, {"name":"深圳","value":4,"selected":"","disabled":"disabled"}, {"name":"天津","value":5,"selected":"","disabled":""} ] } </pre> </div> <p> 当然, 远程搜索也是可以分组的 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select8_2" xm-select-search="https://www.fastmock.site/mock/29487363107ab7d242c46305cadf4c52/formSelects/layui/group"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> <pre class="brush: js"> { "code": 0, "msg": "success", "data": [ {"name": "分组-1", "type": "optgroup"}, {"name":"北京","value":1,"selected":"","disabled":""}, {"name":"上海","value":2,"selected":"","disabled":""}, {"name": "分组-2", "type": "optgroup"}, {"name":"广州","value":3,"selected":"selected","disabled":""}, {"name":"深圳","value":4,"selected":"","disabled":"disabled"}, {"name":"天津","value":5,"selected":"","disabled":""} ] } </pre> </div> </div> <div class="example"> <h3 id="select_create" title=" 9) 创建条目">创建条目</h3> <p> xm-select-create, 不存在时会创建, 选中后长久保留, value为Date.now()生成 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select9" xm-select-search xm-select-create> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_direction" title=" 10) 下拉方向">下拉方向</h3> <p> 方式一: xm-select-direction="auto|up|down", 自动, 上, 下, 默认自动模式 </p> <p> 方式二: 使用formSelects.config配置 </p> <pre class="brush: js"> //配置某一个多选的方向 layui.formSelects.config('select1', {direction: 'up'}); //配置所有多选的方向 layui.formSelects.config({direction: 'up'}); </pre> <p> 我是朝上的 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select10_1" xm-select-direction="up"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 我是朝下的 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select10_2" xm-select-direction="down"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 其他的都是自动处理的哈, 当然没有朝左朝右的 </p> <p> 我是一个动态的 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <select name="city" xm-select="select10_3" xm-select-direction="down"> <option value="1" disabled="disabled">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4" selected="selected">深圳</option> <option value="5">天津</option> </select> </div> <button class="layui-btn layui-btn-normal example-btn" onclick="formSelects.config('select10_3', {direction: 'up'});">点我朝上</button> <button class="layui-btn layui-btn-normal example-btn" onclick="formSelects.config('select10_3', {direction: 'down'});">点我朝下</button> </div> </div> <div class="example"> <h3 id="select_height" title=" 11) 固定高度">固定高度</h3> <p> xm-select-height="36px", 多选的高度是随便选项的变化而变化的, 当然你也可以固定一个高度, 从此高度将不再变化 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select11" xm-select-height="36px"> <option value="1" selected="selected">北京</option> <option value="2" selected="selected">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_disabled" title=" 12) 禁用select">禁用select</h3> <p> disabled="disabled", 多选的高度是随便选项的变化而变化的, 当然你也可以固定一个高度, 从此高度将不再变化 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select12" disabled="disabled"> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 动态操作select的启用与禁用 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select12_2" disabled="disabled"> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> <button class="layui-btn layui-btn-normal example-btn" onclick="formSelects.undisabled('select12_2')">点我启用</button> <button class="layui-btn layui-btn-normal example-btn" onclick="formSelects.disabled('select12_2')">点我禁用</button> <button class="layui-btn layui-btn-normal example-btn" onclick="formSelects.undisabled()">全部启用</button> <button class="layui-btn layui-btn-normal example-btn" onclick="formSelects.disabled()">全部禁用</button> </div> </div> <div class="example"> <h3 id="select_radio" title=" 13) 单选模式">单选模式</h3> <p> xm-select-radio, 单选模式 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select13" xm-select-radio> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_form" title=" 14) 表单操作">表单操作</h3> <p> 支持layui原生表单验证, lay-verify="xxx" </p> <div class="layui-form"> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select14" lay-verify="select14"> <option value="">选择3项以上通过验证</option> <option value="1">北京</option> <option value="2">上海</option> <option value="3">广州</option> <option value="4">深圳</option> <option value="5">天津</option> <option value="6">杭州</option> </select> </div> </div> <button class="layui-btn example-btn" lay-submit lay-filter="select14">验证提交</button> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> tips模式, lay-verify="required", lay-verType="tips" </p> <div class="layui-form"> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select14_1" lay-verify="required" lay-verType="tips"> <option value="">选择3项以上通过验证</option> <option value="1">北京</option> <option value="2">上海</option> <option value="3">广州</option> <option value="4">深圳</option> <option value="5">天津</option> <option value="6">杭州</option> </select> </div> </div> <button class="layui-btn example-btn" lay-submit lay-filter="select14_1">验证提交</button> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 支持表单提交自动赋值, 只需要在select加上name属性即可, 点击提交可查看url的变化 </p> <div> <form class="layui-form" action=""> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select14_2"> <option value="1" selected="selected">北京</option> <option value="2" selected="selected">上海</option> <option value="3">广州</option> <option value="4">深圳</option> <option value="5">天津</option> <option value="6">杭州</option> </select> </div> </div> <button class="layui-btn layui-btn-normal example-btn" type="submit">提交表单</button> <button class="layui-btn layui-btn-normal example-show-code" type="button"></button> </form> </div> <p> 支持reset操作, 选择几项数据, 然后点击重置 </p> <div> <form class="layui-form"> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select14_3"> <option value="">默认提示</option> <option value="1" selected="selected">北京</option> <option value="2">上海</option> <option value="3">广州</option> <option value="4">深圳</option> <option value="5">天津</option> <option value="6">杭州</option> </select> </div> </div> <button class="layui-btn layui-btn-normal example-btn" type="reset">重置表单</button> <button class="layui-btn layui-btn-normal example-show-code" type="button"></button> </form> </div> </div> <div class="example"> <h3 id="select_linkage" title=" 15) 多选联动">多选联动</h3> <p> 多选联动, 联动需要使用data来赋值, 先给一个空select标记多选, <b>记得value不能重复哦</b> </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select15"> <option value="">请选择, 此处是联动多选</option> </select> <js> layui.formSelects.data('select15', 'local', { arr: [ { "name": "北京", "value": 1, "children": [ {"name": "北京市1", "value": 12, "children": [ {"name": "朝阳区1", "value": 13, "children": []}, {"name": "朝阳区2", "value": 14, "children": []}, {"name": "朝阳区3", "value": 15, "children": []}, {"name": "朝阳区4", "value": 16, "children": []}, ]}, {"name": "北京市2", "value": 17, "children": []}, {"name": "北京市3", "value": 18, "children": []}, {"name": "北京市4", "value": 19, "children": []}, ] }, { "name": "天津", "value": 2, "children": [ {"name": "天津市1", "value": 51, "children": []}, ] }, ], linkage: true }); //如果有需要默认值的小伙伴请使用formSelects.value formSelects.value('select15', ['1/12/13', '1/12/14']) </js> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 多选联动, 使用远程数据实现省市区三级联动 </p> <p> 宽度是可以自定义的, linkageWidth: 130, 默认100 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select15_2"> <option value="">请选择, 此处是联动多选</option> </select> <js> formSelects.config('select15_2', { success: function(id, url, val, result){ console.log("success回调: " + url); }, error: function(id, url, val, err){ console.log("err回调: " + url); } }); formSelects.data('select15', 'server', { url: 'http://yapi.demo.qunar.com/mock/9813/layui/citys', linkage: true, linkageWidth: 130 }); //如果有需要默认值的小伙伴请使用formSelects.value formSelects.value('select15', ['1/12/13', '1/12/14']) </js> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> </div> <div class="example"> <h3 id="select_btns" title=" 16) 快捷操作">快捷操作</h3> <p> 设置内置的快捷操作 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select16_1"> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> <js> formSelects.btns('select16_1', ['select', 'remove', 'reverse', 'skin']); </js> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 自定义快捷操作 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select16_2"> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> <js> formSelects.btns('select16_2', ['select', 'remove', 'skin', { icon: 'layui-icon layui-icon-ok', //自定义图标, 可以使用layui内置图标 name: '提示名称', click: function(id){ //点击后的操作 alert('点击了自定义快捷操作') } }]); </js> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 你是可以换数组位置, 更换显示位置滴 </p> <p> 如果内置操作不满意, 完全可以自定义 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select16_3"> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" selected="selected">天津</option> <option value="6" selected="selected">杭州</option> </select> <js> formSelects.btns('select16_3', ['skin', { icon: 'layui-icon layui-icon-ok', //自定义图标, 可以使用layui内置图标 name: '提示名称', click: function(id){ //点击后的操作 alert('点击了自定义快捷操作') } }, 'remove']); </js> </div> </div> <button class="layui-btn layui-btn-normal example-show-code"></button> </div> <p> 如果不需要快捷操作, 设置一个空数组就可以了, 它会变回以前的模样 </p> <div> <div style="width: 400px; display: inline-block; vertical-align: top;"> <div class="layui-form"> <select name="city" xm-select="select16_4"> <option value="1">北京</option> <option value="2">上海</option> <option value="3" selected="selected">广州</option> <option value="4" selected="selected">深圳</option> <option value="5" s.........完整代码请登录后点击上方下载按钮下载查看
网友评论0