layui中下拉选选中指定某一项

转载以下url:

https://blog.csdn.net/qq_33594380/article/details/79438026

https://blog.csdn.net/lqadam/article/details/71893552

先声明注意事项:

这里还有两个小问题 
1. 关于layui导入组件的问题:layui导入组件使用layui.use()的方式,需要将所有关联到layui的JS,但又包含自己逻辑的代码都放到这里面,我试过把layui的变量导出成全局变量,并不能用,所以,按照官方说法,只能选择将所有JS代码包含到layui.use()里,或者在自己的代码里重复书写layui.use()来临时使用layui的组件 

1. 关于图标不能正常显示的问题(多出现在表单),这个问题其实是上一个问题的延伸,原因就是没有使用layui.use()来导入layui的form组件



Layui的select下拉框是怎么实现的

1. 为了获得一个select标配的下拉框,我们需要在html中填写的内容如下:

[html]  view plain  copy
  1. <div class="layui-form-item">  
  2.     <label class="layui-form-label"><span class="color-red"></span>发送对象:</label>  
  3.     <div class="layui-input-inline">  
  4.         <select id="edit_exam_school">  
  5.             <option value="">请选择目标</option>  
  6.             <option value="1">目标一</option>  
  7.             <option value="2">目标二</option>  
  8.         </select>  
  9.     </div>    
  10. </div>   

2. layui对以上html的渲染结果如何?


此处select可供选择的元素是通过ajax从后台请求获得的,需要根据动态结果决定选择哪一个。分析一下渲染结果的结构,得到dom树如下:


发现在layui-input-inline之下除了select之外又多了个layui-form-select的div。该div包含layui-select-title和dl两个孩子元素,select的选择事件可以通过点击dl下某个确定的dd元素实现。

三、如何实现自动选择?

通过以上的分析结果可以得知,我们只要拿到自己想要选择的内容所在的dd元素并对它触发点击事件,即可实现select加载时自动选择操作。

1. 首先需要使用lay-value来确定需要设置哪个元素自动选择

[html]  view plain  copy
  1. var select = 'dd[lay-value=' + data.schoolId + ']';  

2. 触发点击事件,实现自动选择

[html]  view plain  copy
  1. $('#edit_exam_school').siblings("div.layui-form-select").find('dl').find(select).click();