select2使用demo

本文介绍如何在网页中使用Select2组件实现多选下拉框功能,包括引入必要的JS和CSS文件、编写HTML结构以及通过JavaScript设置已选项。

1.引入select2相关JS CSS

<script src="__PUBLIC__/Admin/js/select2.min.js"></script>
<link href="__PUBLIC__/Admin/css/select2.min.css" rel="stylesheet" />

2.在需要的HTML页面写入如下代码

<select id="cate_id" class="mul-select" multiple="multiple" name="cate_id[]" style="width:700px;">
         
             <option value="1" pid="{$v.pid}">选项一</option>
<pre name="code" class="html">             <option value="2" pid="{$v.pid}">选项二</option>
             <option value="3" pid="{$v.pid}">选项三</option>

 </select>

3.调用JS,如果是编辑类页面,自动选择已选项,在最有启动函数

<span style="font-size:14px;">         //商品分类
	var cate_id = ['1','4','666'];//json类型
	  if(cate_id!=""){   
            $.each(cate_id, function(i,val){
                $("#cate_id").find("option[value='"+val+"']").attr("selected","selected");
            });
	 }
	$(".mul-select").select2();</span>



### select2 示例代码 以下是基于 `select2` 的基本示例代码,展示如何实现动态查询以及多选功能: #### HTML 部分 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Select2 Demo</title> <!-- 引入 CSS --> <link rel="stylesheet" href="./plugin/select2/css/select2.css" type="text/css"> </head> <body> <!-- 单选下拉框 --> <label for="single-select">单选:</label> <select id="single-select" style="width: 300px;"> <option value="1">选项一</option> <option value="2">选项二</option> <option value="3">选项三</option> </select> <!-- 多选下拉框 --> <label for="multiple-select">多选:</label> <select id="multiple-select" multiple="multiple" style="width: 300px;"> <option value="1">选项A</option> <option value="2">选项B</option> <option value="3">选项C</option> </select> <!-- 引入 JS --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="./plugin/select2/js/select2.min.js"></script> <script> $(document).ready(function () { // 初始化单选下拉框 $('#single-select').select2(); // 初始化多选下拉框 $('#multiple-select').select2(); }); </script> </body> </html> ``` 此代码展示了如何通过引入 `select2.min.js` 和 `select2.css` 文件来初始化单选和多选下拉框[^1]。 --- #### 后端数据支持(可选) 如果需要动态加载数据,则可以结合 AJAX 实现。以下是一个简单的后端模型定义和前端调用方式: ##### C# 模型类 (ASP.NET MVC) ```csharp namespace Select2Demo.Models { public class Area { public int id { get; set; } public string text { get; set; } public string element { get; set; } } } ``` 该模型用于返回 JSON 数据给前端[^2]。 ##### 前端 AJAX 调用 ```javascript $(document).ready(function () { $('#dynamic-select').select2({ ajax: { url: '/api/areas', // 替换为实际接口地址 dataType: 'json', delay: 250, data: function (params) { return { q: params.term, // 用户输入的关键字 page: params.page }; }, processResults: function (data, params) { params.page = params.page || 1; return { results: data.items, pagination: { more: (params.page * 30) < data.total_count } }; }, cache: true }, placeholder: '请选择...', minimumInputLength: 1 }); }); ``` 在此部分中,AJAX 请求会向服务器发送关键字参数并接收 JSON 格式的响应数据。 --- #### 功能说明 1. **单选模式**:默认情况下,`<select>` 元素会被转换为带有搜索功能的下拉框。 2. **多选模式**:只需在 `<select>` 中添加属性 `multiple="multiple"`,即可启用多选功能。 3. **动态加载**:通过配置 `ajax` 属性,可以从远程 API 获取数据源,并实时更新下拉列表中的选项。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值