bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)

h5自带的select标签可以实现按住ctrl键多选的功能,但是样式及其难看。

bootstrap select是很好用的前端插件

首先引入bootstrap和bootstrap-select的css和js

下载地址:bootstrap全家桶(datetimepicker,select,table,validator)_bootstrapselect多选-Javascript工具类资源-CSDN下载

<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap-select.min.css">
<script src="js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
<script src="js/bootstrap-select.min.js" type="text/javascript" charset="utf-8"></script>

html:主要是增加class selectpicker 并添加multiple属性

<select id ="weatherType" name="weatherType" class="form-control selectpicker" multiple="multiple" title="请选择">

</select>

option一般为ajax添加,等拼接完字符串后再初始化一下

js:初始化是为

$("#weatherType").selectpicker('refresh');

这样默认选中第一个

如果想默认什么也不选,则:

$("#weatherType").selectpicker('deselectAll');

注意,默认不选显示的字样需要在select中设置title属性,不然会显示默认的 英文 nothing selected;

如果上述方法有问题,则可以在拼接字符串的时候第一个拼上空选项,例如:

var layer2=layer.load(2)
        $.ajax({
            type: 'POST',
            url: "${ctx}/system/role/getRoleListWithNoPage",
            dataType: 'json',
            async:true,
            success: function(ret){
                console.log(ret)
                var data=ret.data;
                $("#role_id_fake").empty();
                $("#role_id_fake").append($('<option value="">请选择</option>'));
                for(var i=0;i<data.length;i++){
                    $("#role_id_fake").append($('<option value=' + data[i].roleId + '>' + data[i].roleName + '</option>'));
                }
                $("#role_id_fake").selectpicker('refresh');
                $('.dropdown-toggle').dropdown();
                $("#role_id_fake").trigger("click")

            },
            error:function(data) {
                console.log(data.msg);
            },
            complete:function(){
                layer.close(layer2);
            }
        });

这样的效果也不错 

 

加上下拉搜索功能:

只需要在属性上加上

data-live-search="true"

加上全选和取消全选按钮:

data-actions-box="true"

如:(效果如上图)

<select name="role_id_fake" class="form-control selectpicker" multiple="multiple" 
id="role_id_fake" title="请选择"
                        data-actions-box="true"
                        data-live-search="true">
                    <option value="">请选择</option>
                </select>

多选框的取值

$("#weatherType").val()

直接取值就行,多选的值会自动用逗号分隔开

但如果你提交数据时将表单序列化

var formData = $("#createUserForm").serialize();

则val()只能取到一个选中的值,无法传入多选的值

解决办法:

$("#weatherType").change(function(){
            $("input[name=weatherType1]").val($("#weatherType").val())
    })

在change事件时将值赋给另一个隐藏的input即可

多选框的赋值:

$("#weatherType").selectpicker ("val",weatherType).trigger("change");

其中weatherType为逗号隔开的值得字符串,赋值后展开后自动打勾

如果字符串不生效,则自己处理一个字符串,变成字符串数组,例如:

ps:最近出现了点击select不弹出选项问题,可以这么解决

在页面上加一句话:

$("#xxx").selectpicker('refresh');//先初始化selectpicker
$('.dropdown-toggle').dropdown();  //在加上一行这个

ps:这次我又引入了一下,发现对勾图标出不来

 在bootstrap.css中可以看到这个:

它默认要引入fonts中的字体,自己改路径或者把fonts放进来即可 

### 回答1: Bootstrap Select 是一个基于 Bootstrap 的下拉框插件,它支持多选和搜索功能。多选下拉框可以让用户方便地选择多个选项,而搜索功能则可以帮助用户快速找到所需选项。此外,Bootstrap Select 还支持自定义样式和事件处理,可以满足各种需求。 ### 回答2: bootstrapselect是一种基于Bootstrap框架的下拉框插件,它提供了丰富多样的功能,可以帮助我们优化网站或应用的用户界面和交互体验。其中,多选下拉框是bootstrapselect的一个重要组成部分,它可以让用户在一次选择中选取多个选项,方便快捷。 使用bootstrapselect多选下拉框,我们可以通过简单的设置来实现多选功能。首先,在HTML中引入相应的CSS和JS文件,然后在多选下拉框的select标签上添加“multiple”属性,设置其为多选模式。接着,使用jQuery选择对应的下拉框元素,并调用bootstrapSelect()方法,即可将其转化为多选下拉框。同时,我们也可以通过设置不同的选项来自定义该下拉框的外观和功能,如设置样式、添加提示信息等等。 另外,值得注意的是,bootstrapselect多选下拉框还提供了一些常用的方法和事件,可以通过它们来灵活控制下拉框的行为和响应。比如,我们可以使用val()方法获取或设置下拉框的选中值;使用toggle()方法在选择取消选择之间切换;使用hide()和show()方法控制下拉框的显示和隐藏;使用changed.bs.select事件监听下拉框的选中值的改变等等。 总之,bootstrapselect多选下拉框是一个非常实用和方便的功能,可以大大地提高用户体验和交互效果,同时也能够为开发者带来许多便捷和灵活性。我们需要根据实际需求,合理地使用该功能,并通过不断学习和实践,不断优化我们的网站和应用。 ### 回答3: Bootstrapselect多选下拉框是一种常见的UI组件,它能够让用户在下拉框中选择多个选项,同时还能够给出美观的用户界面和良好的用户体验。 Bootstrapselect多选下拉框具有多种功能和特性。首先,它能够让用户通过键入字母或数字来快速查找选项,这样可以提高用户选择的效率。其次,它还支持多种选项的排列方式,包括按字母排序、按数字排序以及按用户输入顺序排序等。此外,Bootstrapselect还提供了多种选项样式和主题,可以根据不同的场景和需求来选择不同的样式。 除此之外,Bootstrapselect还支持多种事件和回调函数,如选项改变事件、选中事件、取消选中事件等,这些事件和回调函数可以帮助用户更好地处理用户交互,并提供更加方便和灵活的编程方式。 总的来说,Bootstrapselect多选下拉框是一种非常实用的UI组件,它可以为用户提供方便、快捷、美观的多选选项,从而帮助用户更好地完成任务,并提高用户体验。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆趣编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值