场景:
今天需要实现一个select下拉框,但是它的标题却不能作为选项,但是设置了title之后并没有生效。但是在设置了multiselect之后title居然却生效了,效果就是单选select的title不生效,多选select的title才生效。
效果图:
单选select不生效的原因:
在网上找答案都没原因,直接上源码bootstrap-select.js搜着title这个字段看看了。
发现这么一段话意思是:如果我们没有设置multiselect多选,那么我们不会有一个默认选中的选项并且我们没有一个title,选中第一个选项元素来设置按钮。
解释:发现原来bootstrap select在单选时是不提供title的,会默认采用一个选项的text值作为title。
解决办法:
我们将第一个选项设置为title,然后再将第一个选项隐藏。
<select id="btn-diseaseRecord-openAdd" class="selectpicker pull-right" data-width="120%" data-style="btn blue">
<option data-hidden="true" value="0" disable>新增</option>
<option value="1">高血压</option>
<option value="2">糖尿病</option>
</select>