【写在前面的话】网站上很多用各种插件,比如依赖bootstrap的bootstrap-select插件等。虽然这些框架可以实现很多功能,但因为在实际项目中,可能只会用到其中的某个功能,若是一概引入,会导致整个js加载过于笨重。比如前面提到的bootstrap-select插件,在不压缩的情况下,达到300多k。因此,为了实现一个可填写的下拉框有点得不偿失。

基于这种原因,于是私下用jquery写了一个比较简单的多选下拉可填写组合框。
container{
margin: 20px auto;
padding:0 15px;
width: 50%;
height:300px;
box-sizing: border-box;
}
.text-container{
display: inline-block;
float:left;
width: 15%;
height: 32px;
line-height: 32px;
box-sizing: border-box;
}
.selectContainer{
width: 70%;
height:200px;
float:left;
position: relative;
padding:0;
margin:0;
box-sizing: border-box;
}
.selectedContent{
width:85%;
height: 25px;
float:left;
}
.dropDown-toggle{
width:14%;
height:31px;
line-height: 31px;
text-align: center;
border: 1px solid silver;
border-left:none;
float:left;
padding:0;
margin:0;
box-sizing: border-box;
cursor: pointer;
}
.dropDown-menu{
margin:0;
padding:0 15px 10px;
width:100%;
border:1px solid silver;
border-top: none;
box-sizing: border-box;
list-style: none;
position: absolute;
top:31px;
right:0;
}
.items{
margin-top:8px;
padding: 2px;
cursor: pointer;
}
.items:hover{
background: #ddd;
}
.isSelectedText{
display: inline-block;
width:90%;
}
.dsn{
display: none;
}
<div class="container">
<span class="text-container">最爱的水果</span>
<div class="multipleSelect selectContainer">
<input type="text" class="selectedContent">
<div class="dropDown-toggle">选择</div>
<ul class="dropDown-menu dsn">
<li class="items">
<span class="isSelectedText">苹果</span>
<span class="isSelected"><input type="checkbox"></span>
</li>
<li class="items">
<span class="isSelectedText">梨</span>
<span class="isSelected"><input type="checkbox"></span>
</li>
<li class="items">
<span class="isSelectedText">橘子</span>
<span class="isSelected"><input type="checkbox"></span>
</li>
<li style="text-align: right">
<button type="button" class="confirmSelect">确定</button>
</li>
</ul>
</div>
</div>
$('.isSelected input[type=checkbox]').on('click', function(){
var selectedItems = $(this).parents('.dropDown-menu').prevAll('.selectedContent').val().split(' ');
var thisItem = $(this).parent().prev().text();
var isExisted = 0;
var isChecked = $(this).is(':checked');
if(isChecked){
selectedItems.map(function(item, index){
if(item === thisItem){
isExisted++
}
});
if(!isExisted){
selectedItems.push(thisItem)
}
}
else{
selectedItems.map(function(item, index){
if(item === thisItem){
selectedItems.splice(index, 1);
}
});
}
$(this).parents('.dropDown-menu').prevAll('.selectedContent').val(selectedItems.join(' '));
})
$('.confirmSelect').on('click', function(){
$(this).parents('.dropDown-menu').addClass('dsn');
})
$('.dropDown-toggle').on('click', function(){
$(this).next().toggleClass('dsn')
});
由于本组件中使用了数组的map方法,可能此方法在ie中不能兼容。由于鄙人电脑ie无法打开,用360浏览器测试后同样可是正常使用。
# jquery可输入多选下拉组合框
# jquery
# 下拉组合框
# jQuery实现下拉框多选 jquery-multiselect 的实例代码
# 基于jQuery下拉选择框插件支持单选多选功能代码
# jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
# 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
# 一个简单的jquery的多选下拉框(自写)
# 利用Jquery实现可多选的下拉框
# Jquery多选下拉列表插件jquery multiselect功能介绍及使用
# jquery multiSelect 多选下拉框
# jQuery EasyUI API 中文文档 - ComboBox组合框
# 只会
# 得不偿失
# 写了
# 正常使用
# 可以实现
# 多选
# 无法打开
# 上很
# 情况下
# 加载
# 使用了
# 下拉框
# 写在前面
# 在实际
# border
# sizing
# text
# block
# inline
# display
相关文章:
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
如何通过建站之星自助学习解决操作问题?
,想在网上投简历,哪几个网站比较好?
免费视频制作网站,更新又快又好的免费电影网站?
如何通过VPS建站实现广告与增值服务盈利?
网站制作公司排行榜,抖音怎样做个人官方网站
想学网站制作怎么学,建立一个网站要花费多少?
制作网页的网站有哪些,电脑上怎么做网页?
建站主机类型有哪些?如何正确选型
东莞专业制作网站的公司,东莞大学生网的网址是什么?
python的本地网站制作,如何创建本地站点?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何快速登录WAP自助建站平台?
如何通过FTP空间快速搭建安全高效网站?
建站主机CVM配置优化、SEO策略与性能提升指南
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
用v-html解决Vue.js渲染中html标签不被解析的问题
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
网站专业制作公司有哪些,做一个公司网站要多少钱?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
建站主机无法访问?如何排查域名与服务器问题
如何高效完成独享虚拟主机建站?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
建站主机服务器选型指南与性能优化方案解析
网页设计与网站制作内容,怎样注册网站?
建站之星Pro快速搭建教程:模板选择与功能配置指南
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何用花生壳三步快速搭建专属网站?
建站主机选择指南:服务器配置与SEO优化实战技巧
如何选择建站程序?包含哪些必备功能与类型?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
网站按钮制作软件,如何实现网页中按钮的自动点击?
深圳网站制作培训,深圳哪些招聘网站比较好?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何基于PHP生成高效IDC网络公司建站源码?
,怎么用自己头像做动态表情包?
北京制作网站的公司,北京铁路集团官方网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
网站制作软件有哪些,制图软件有哪些?
建站之星云端配置指南:模板选择与SEO优化一键生成
如何在IIS7中新建站点?详细步骤解析
如何配置WinSCP新建站点的密钥验证步骤?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
清除minerd进程的简单方法
如何在阿里云购买域名并搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。