小陈同学拿了一段代码来问我说为什么拿不到搜索下拉框中选中的值,我也不知道为什么拿不到,先贴上代码再说。
html:
使用layUI的搜索下拉框
<td>类型:</td>
<td>
<select name="type" id="type" lay-verify="required" lay-search="" lay-filter="type" style="width: 100%">
<option value="">请选择类型</option>
<#if list??>
<#list list as t>
<option value="${t.id!''}" <#if t.id == type>selected="selected"</#if>>${t.type}</option>
</#list>
</#if>
</select>
</td>
JS:
layui.use('form', function(){
var form = layui.form,
form.on('select(type)'),function(){
var type=$('#type').find('option:selected').val();
console.log("type="+type);
});
});
当没有添加 lay-search 的时候,是可以获取到下拉框的值的。但是变成搜索下拉框之后拿不到选中的值了。
后面小陈同学找了很久资料,才知道可以根据select的name属性来获取value值:
var type = $("select[name='type']").val();
相比上面来说,这真的是太简单了。
在使用layUI的时候,如果有多个 select ,可以设置同样的 lay-filter,select 设置不同的 name 或者其它的属性(attr)来区别。