使用select2.js实现多功能下拉框,select2中文api

最近项目中有个需求是商品能够选择多个标签,类似jire中选择标签:
这里写图片描述

能把选择后选项显示在输入框中,删除时连同整个标签一起删。经过网上咨询、请教同事后,得到一致意见是使用select2

下面是使用select2的初始化、动态赋值,实现标签化多选、以及遇到的问题:

1,从http://select2.github.io/examples.html处下载select2源码,把dist目录中css、js引用到html中,

2,在页面中新建:<div id="test_select2"></div>

3,初始化select2很简单,$('#test_select2').select2();就行,这是没有任何属性和值的最简单初始化,下面介绍几个常用的属性:

var itemList =[{id:1,text:'测试1'}{}{}{{}{}{}{}];//类似的json数组格式,可以单独用jquery的ajax获取服务器的数据。
$('#test_select2').select2({
    placeholder : '输入话题关键字',
    tags : true,
    multiple : true,
    height: '40px',
    maximumSelectionLength : 3,
    allowClear : true,
    language: "zh-CN",
    data : itemList itemList是[{}{}{}{}]格式的数组
 });

4,经过上面三步后的效果:
这里写图片描述

下表是select2常用的属性:

属性类型说明
Width字符串控制 宽度 样式属性的Select2容器div
minimumInputLengthint最小数量的字符
maximumInputLengthint最大数量的字符
minimumResultsForSearchInt最小数量的结果
maximumSelectionSizeint可选择的最大条目数
placeholder字符串选择初始值
separator字符串分隔符字符或字符串用来划定id
allowClear布尔此选项只指定占位符
multiple布尔Select2是否允许选择多个值
openOnEnter打开下拉如果设置为true,当用户按下回车键,Select2关闭。 默认情况下启用这个选项。
id函数函数用于获取id从选择对象或字符串id存储代表的关键
matcher函数用于确定是否搜索词匹配一个选项时使用一个内置的查询功能
sortResults函数用于排序列表搜索之前显示的结果。
formatSelection函数函数用于呈现当前的选择
formatResult函数函数用来渲染结果,
formatResultCssClass函数函数用于添加css类结果元素
formatNoMatches字符串/函数字符串包含“不匹配”消息,或
函数用于呈现信息
formatSearching字符串/函数字符串包含“搜索… “消息,或
函数用于呈现显示的消息 正在进行搜索。
formatAjaxError字符串/函数字符串包含消息“加载失败”,或
函数用于呈现信息
formatInputTooShort字符串/函数包含“搜索”输入太短消息的字符串,或
函数用于呈现信息。
formatInputTooLong字符串/函数包含“搜索”输入太短消息的字符串,或
函数用于呈现信息
formatInputTooLong字符串/函数包含“搜索输入字符串太长”消息,或
函数用于呈现信息。
formatSelectionTooBig字符串/函数字符串包含“你不能选择任何更多的选择”消息,或
函数用于呈现信息
formatLoadMore字符串/函数字符串/函数
createSearchChoice函数创建一个新的可选选择从用户的搜索词。 允许创建通过查询选择不可用 功能。 有用的用户可以创建动态的选择时,如“标签”usecase。
createSearchChoicePosition函数/字符串定义的位置插入元素
initSelection函数调用Select2创建允许用户初始化选择的值 select2附加到元素
tokenizer函数记号赋予器函数可以处理后输入搜索框的输入每一个按键和提取 并选择选择。
tokenSeparators函数一个字符串数组定义标记为默认的分隔符 分词器 功能。 默认情况下,此选项设置为一个空数组标记这意味着使用默认 编译器是禁用的。 通常是明智的,设置该选项值相似 [‘,’,’ ‘] 。
query函数函数用于搜索词的查询结果。
ajax对象选择内置的ajax查询功能。 这个对象作为快捷方式有手动编写一个函数,执行ajax请求。 内置函数支持更高级的特性,比如节流和无序的反应。
data数组/对象择建在查询功能,使用数组。
tags数组/函数将Select2放入“标签’mode,用户可以添加新的选择和预先存在的标签是通过提供 这个选项的属性是一个 数组 或者一个 函数 返回一个 数组的 对象 或 字符串 。 如果 字符串 而不是使用 对象 他们将有一个被转换成一个对象 id 和 文本 属性相等 的值 字符串 。
containerCss函数/对象内联css将被添加到select2的容器。 一个对象包含css属性/值密钥对或一个函数,这个函数返回一个对象。
containerCssClass函数/字符串Css类将被添加到select2容器的标签。
dropdownCss函数/对象内联css将被添加到select2下拉的容器。 一个对象包含css属性/值密钥对或一个函数,这个函数返回一个对象。
dropdownCssClass函数/字符串Css类将被添加到select2下拉的容器。
dropdownAutoWidth布尔当设置为 真正的 尝试自动尺寸下拉基于内容的宽度。
adaptContainerCssClass函数过滤器/重命名的css类,因为他们被复制从源标签select2容器标签
adaptDropdownCssClass函数滤器/重命名的css类,因为他们被复制从源标签select2拉标签
escapeMarkup函数函数用于后处理标记从格式化程序返回功能。 默认情况下这个功能转义的html实体,以防止javascript注入。
selectOnBlur布尔设置为 真正的 如果你想要Select2选择当前高亮选项时模糊。
loadMorePadding整数定义了多少像素需要加载下一页前折以下。 默认值是 0 这意味着结果列表需要滚动到下一个页面的底部加载的结果。 这个选项可以用来触发加载更快,可能导致更流畅的用户体验。
nextSearchTerm函数函数用于确定下一个搜索词应该是什么

Select2.js点击清除,清除原来的值

$("#clearQuery").click(function (){
    $("#DepartmentId").select2("data", null);
    $("#OwnerCode").select2("data", null);
    $("#hfDiseaseId").select2("data", null);
}); 

这里写图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Select2是一种基于jQuery库的下拉选择框,可以帮助你更快捷、更方便地处理复杂的下拉列表。在这里,我们将提供一个简单的使用教程,帮助您快速上手Select2。 1. 下载和引用Select2 首先,您需要从官方网站下载Select2插件。下载完成后,在您的HTML页面中引用Select2的CSS和JS文件: ```html <link href="select2.min.css" rel="stylesheet" /> <script src="jquery.min.js"></script> <script src="select2.min.js"></script> ``` 2. 创建下拉框 在你的HTML文件中,你需要创建一个下拉框元素: ```html <select id="mySelect"></select> ``` 3. 初始化Select2 初始化Select2非常简单,只需在您的JavaScript文件中添加以下代码: ```javascript $(document).ready(function() { $('#mySelect').select2(); }); ``` 现在你的Select2下拉框已经准备好了!但是它还是空的,接下来我们将介绍如何使用Select2来添加选项。 4. 添加选项 添加选项非常简单,只需在下拉框中添加option元素即可。例如: ```html <select id="mySelect"> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select> ``` 但是,如果您有大量的选项,手动添加它们会变得非常繁琐。在这种情况下,您可以使用Select2提供的AJAX加载选项的功能。我们将在下一步中介绍这个功能。 5. AJAX加载选项 使用AJAX加载选项,可以从服务器动态获取选项并将它们添加到Select2下拉框中。以下是一个简单的AJAX示例: ```javascript $(document).ready(function() { $('#mySelect').select2({ ajax: { url: 'http://example.com/api/options', dataType: 'json', processResults: function(data) { return { results: data }; } } }); }); ``` 在这个例子中,我们向Select2提供了一个AJAX请求的URL,并指定了响应数据的类型(JSON)。processResults函数用于处理服务器响应,并将结果返回给Select2。 6. 高级Select2 Select2插件还提供了许多高级功能,例如: - 主题 - 使用不同的主题来定制您的Select2下拉框 - 事件 - 使用事件来响应用户的行为,例如选中选项或打开下拉框 - 模板 - 使用模板来自定义选项的外观和行为 您可以在官方文档中了解更多关于这些高级功能的信息。 总结 在本教程中,我们介绍了如何使用Select2插件创建和自定义下拉框。我们介绍了如何添加选项,使用AJAX加载选项,并提供了一些高级功能的概述。希望这个教程能够帮助您更好地理解和使用Select2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值