使用的layui版本
layui-v2.4.5
Layui的表单下拉框在使用lay-search时,默认是区分大小写的:

HTML 区分大小写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<form class="layui-form" action="">
<select name="modules" lay-search="">
<option value="">直接选择或搜索选择</option>
<option value="1">layer</option>
<option value="2">form</option>
<option value="3">layim</option>
<option value="4">element</option>
<option value="5">laytpl</option>
<option value="6">upload</option>
<option value="7">laydate</option>
<option value="8">laypage</option>
<option value="9">flow</option>
<option value="10">util</option>
<option value="11">code</option>
<option value="12">tree</option>
<option value="13">layedit</option>
<option value="14">nav</option>
<option value="15">tab</option>
<option value="16">table</option>
<option value="17">select</option>
<option value="18">checkbox</option>
<option value="19">switch</option>
<option value="20">radio</option>
</select>
</form>

区分大小写效果

但是有些时候并不是特别希望它区分的这么细,那么我们修改源码,让他不区分大小写搜索,如果用的是layui.js,则找到lay/form.js,如果是layui.all.js,则直接修改layui.all.js。
由于版本不同,压缩后的js代码并不一致,所以下面的方法可能不支持其他版本layui

找到下面的代码

1
l.indexOf(e)===-1;

替换成
1
l.toLowerCase().indexOf(e.toLowerCase())===-1;

或者也可以加属性来控制它是否需要大小写,比如我们加上case-sensitive=”false”来关闭区分大小写
只要将上面的代码替换成
替换成

1
p.attr("case-sensitive")==="false"?l.toLowerCase().indexOf(e.toLowerCase())===-1:l.indexOf(e)===-1;

HTML 不区分大小写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<form class="layui-form" action="">
<select name="modules" lay-search="" case-sensitive="false">
<option value="">直接选择或搜索选择</option>
<option value="1">layer</option>
<option value="2">form</option>
<option value="3">layim</option>
<option value="4">element</option>
<option value="5">laytpl</option>
<option value="6">upload</option>
<option value="7">laydate</option>
<option value="8">laypage</option>
<option value="9">flow</option>
<option value="10">util</option>
<option value="11">code</option>
<option value="12">tree</option>
<option value="13">layedit</option>
<option value="14">nav</option>
<option value="15">tab</option>
<option value="16">table</option>
<option value="17">select</option>
<option value="18">checkbox</option>
<option value="19">switch</option>
<option value="20">radio</option>
</select>
</form>

不区分大小写效果

最后更新: 2024年04月12日 02:45

原始链接: https://xiaguochang.github.io/posts/80a24b11/