这个是基于bootstrap工程,可能需要bootstrap的一些文件。
二话不说上代码:
首先引入css和js,文件自己下。
<link href="${base}/resources/console/css/plugins/chosen/chosen.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="${base}/resources/console/js/plugins/chosen/chosen.jquery.js"></script>
demo1:
这里是freemaker简单的循环出option,将select的name设置为memberIds,后台获取的就是选中的option的值的数组。
<div class="input-group" style="width:100%;">
<select data-placeholder="请选择关联家长(可搜索名字)" name="memberIds" class="chosen-select" multiple style="width:100%;" tabindex="4">
[#list members as member]
<option value="${member.id}" hassubinfo="true" >${member.realName}(${member.mobile})</option>
[/#list]
</select>
</div>
demo2:
这里是后台向前台展示显示选中哪些选项,在option 里控制判断是否选中。可以选中多个哟。
<div class="input-group" style="width:100%;">
<select data-placeholder="请选择关联家长(可搜索名字)" name="memberIds" class="chosen-select" multiple style="width:100%;" tabindex="4">
[#list members as member]
<option value="${member.id}" hassubinfo="true"
[#list linkMembers as linkMember]
#if member.id==linkMember.id ]
selected="true"
[/#if]
[/#list]
>
${member.realName}(${member.mobile})
</option>
[/#list]
</select>
</div>
最后不要忘记需要js调用方法
<script>
var config = {
'.chosen-select': {},
'.chosen-select-deselect': {
allow_single_deselect: true
},
'.chosen-select-no-single': {
disable_search_threshold: 10
},
'.chosen-select-no-results': {
no_results_text: '无选择项'
},
'.chosen-select-width': {
width: "95%"
}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
</script>
这个script放在html的最下面。和页面加载顺序有关。
本文介绍了如何在基于Bootstrap的项目中使用Chosen插件创建可搜索的多选下拉框。通过示例代码展示了如何从前台传入后台选中项,以及从后台读取并显示选中项。Chosen插件的引入、配置以及与Freemarker模板的结合使用也在文中详细说明。
831

被折叠的 条评论
为什么被折叠?



