selectpicker 多选使用

本文详细介绍Bootstrap Select组件的使用方法,包括基本操作如单选、多选、模糊搜索、动态赋值等。通过具体实例,展示了如何引入必要的CSS和JS文件,生成下拉框选项,动态填充选项值,以及如何进行值的回填和获取已选项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

附上官网api链接,http://silviomoreto.github.io/bootstrap-select/.

下拉框的使用上基本操作一般是:单选、多选、模糊搜索、动态赋值等,下面来看如何使用:

1.首先需要引入的CSS和JS

bootstrap.css
bootstrap-select.min.css
jquery-1.11.3.min.js
bootstrap.min.js
bootstrap-select.min.js

2. option在html中生成

html代码:

<select  multiple  class="form-control" name="dutylogtype[]" id="dutylogtype" data-live-search="true" value='{$dutylogconfig}' required>
	 <option value="voiceinfo">语音系统</option>
	 <option value="vedioinfo">视频系统</option>
	 <option value="businessinfo">业务网格系统</option>
	 <option value="otherinfo">其他</option>
</select>	

设置multiple时为多选,data-live-search="true"时显示模糊搜索框,不设置或等于false时不显示。

JS代码:

//配置项
var  $dutylogconfig = '{$dutylogconfig}';
 $('select[name="dutylogtype[]"]').selectpicker({
     noneSelectedText: '请选择配置选项' //默认显示内容
 });

//value值回填,用split分隔字符串
 $('select[name="dutylogtype[]"]').selectpicker('val',$dutylogconfig.split(","));

3. 动态生成option

html代码:

<select multiple class="form-control"  name="dutyuserid" id="dutyuserid"  data-live-search="true"  required></select> 

JS代码:

$('select[name="dutyuserid"]').selectpicker({
    noneSelectedText: '请选择人员...' //默认显示内容
});

//获取值班人员信息
function getUserId() {
    $.ajax({
        url: "__APP__/Mainten/Userinfoext/getListForCombobox",
        type:"get",
        dataType: 'json',
        async: false,
        success: function (data) {
            data.forEach(function(element){
                // alert(element.id);
                $('select[name="dutyuserid"]').append('<option value="'+element.id + '" >' + element.personname + '</option>');
            });
            // $('select[name="dutyuserid"]').selectpicker('refresh');
        }
    })
}

4.其他方法

获取已选的项:

var selectedValues = [];    
$("#dutyuserid:selected").each(function(){
    selectedValues.push($(this).val()); 
});

选择指定项(编辑回显使用):

单选:$(’.selectpicker’).selectpicker(‘val’, ‘列表id’);

多选:var arr=str.split(’,’); $(’.selectpicker’).selectpicker(‘val’, arr);

### u-picker 组件功能的使用方法 对于 `u-picker` 组件实现功能,虽然直接提及该组件的具体配置不见于提供的参考资料中,但从相似的日历或择器组件可以推断其可能的工作方式。例如,在处理日期择器时,通过特定属性来启用模式是一个常见的做法。 在 `next-date-picker` 中提到可以通过设置不同的 mode 来控制择行为,如简单择、、单以及范围择[^3]。这表明为了使 `u-picker` 支持,应当寻找类似的配置项或参数用于开启此特性。 假设 `u-picker` 的 API 设计遵循类似原则,则其实现的方式可能是: #### 实现功能的方法 - **引入依赖库** 需要确保项目已经安装并导入了 `u-picker` 及其他必要的样式文件。 - **HTML/模板部分** 定义一个触发器按钮或其他UI元素用来打开 picker 对话框,并绑定事件处理器以便响应用户的交互操作。 - **JavaScript/Vue.js 方法** ```javascript // 假设这是 Vue 组件中的 methods 属性之一 showPicker() { this.$refs.pickerRef.open(); // 打开picker对话框 } ``` - **配置 Picker 参数** 当初始化 `u-picker` 或者动态更新其 props 时,指定允许的相关属性。如果存在名为 `mode` 的 prop,那么将其值设定为 `"multiple"` 应能激活模式;当然具体名称需参照实际文档说明。 ```html <u-picker ref="pickerRef" :options="yourOptionsArray" multiple @confirm="handleConfirm"></u-picker> ``` 这里的关键在于找到适用于 `u-picker` 的正确属性名及其对应的合法取值列表。通常情况下,官方文档会提供详细的API描述,建议查阅最新版本的手册获取最准确的信息。 #### 示例代码片段 下面给出一段基于上述讨论构建的例子,展示如何在一个假定的支持特性的 `u-picker` 上应用这些概念。 ```vue <template> <div> <!-- Trigger element --> <button @click="openPicker">Open Multi Select</button> <!-- The actual picker component --> <u-picker v-if="isPickerVisible" ref="pickerInstance" :items="dataItems" multiple @close="onClose" @select="onSelect"> </u-picker> </div> </template> <script> export default { data() { return { isPickerVisible: false, selectedValues: [], dataItems: [ /* Your item list here */ ] }; }, methods: { openPicker() { this.isPickerVisible = true; setTimeout(() => { this.$refs.pickerInstance && this.$refs.pickerInstance.show(); }, 0); }, onClose() { this.isPickerVisible = false; }, onSelect(values) { console.log('Selected values:', values); this.selectedValues = [...values]; } } }; </script> ``` 这段代码展示了创建一个 `u-picker` 并监听用户的择变化的过程。注意这里的 `multiple` 是作为属性传递给 `<u-picker>` 标签的,意味着它启用了能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值