bootstrap select 动态数据+分组+分组单选

本文介绍了如何在Bootstrap Select中实现动态数据加载、分组及分组单选功能。关键点包括:引入bootstrap-select.js库,利用multiple属性和data-max-options属性限制分组内的选择数量,通过循环将数据填充到select元素,并使用AJAX从'/sp'获取更多数据,数据结构需包含optgroup作为组名,option作为组内选项。

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

bootstrap select 动态数据+分组+分组单选


				<div class="form-group">
					<label class="col-sm-2 ">Storage pool</label>
					<div class="col-sm-10 ">
						<select id='Storage_pool' name='Storage_pool'
							class="selectpicker " multiple data-live-search="true">
						</select>
					</div>
					<script type="text/javascript">
					$('#Storage_pool').selectpicker({width:200});
				    $(function() {
                            $.ajax({
                                url: "/sp",
                                type: "get",
                                dataType: "json",
                                success: function(data) {
                                    //var _data = data.data; //由于后台传过来的json有个data,在此重命名
                                      $('#Storage_pool').html(""); 
                                    var html = "";
                                    for(i in data) {
                                    var NName = data[i].NodeName
                                    var device_name = data[i].Spool
                                html += '<optgroup data-max-options="1" label='+NName+'>' 
                                    for(a in device_name){
                                     html += '<option  value='+NName+'>' + device_name[a].device_name+ '</option>'
                }
                                    html += '</optgroup>'
                                    }
                                      $('#Storage_pool').append(html);  
                                            // 缺一不可
							        $('#Storage_pool').selectpicker('refresh');
							        $('#Storage_pool').selectpicker('render');
                                }
                            });
                            });
                            
                            
					</script>

				</div>

要点:

  1. 记得导入 bootstrap-select.js
  2. multiple 搭配 data-max-options=“1” 使用,multiple让整个select可以多选,data-max-options限制分组以后多选的数量。
  3. 通过循环把数据放在select里面
  4. 通过AJAX把数据拿过来,url 为 “/sp” ,自己设定即可
  5. optgroup 是组名,option是小组成员,记得层次

数据

 sp = [{'NodeName': 'Node1',
                    'Spool': [{'device_name': 'Paul'},
                             {'device_name': 'Mark'},
                             {'device_name': 'Ethan'},
                             {'device_name': 'Vince'}]
                  },
                  {'NodeName': 'Node2',
                  'Spool': [{'device_name': 'Paul_Test'},
                            { 'device_name': 'Mark_Test'},
                             {'device_name': 'Ethan_Test'},
                             {'device_name': 'Vince_Test'}]
                }]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值