select2 使用方法总结
官网:http://select2.github.io/
调用
<link href="~/Content/select2.min.css" rel="stylesheet" />
<script src="~/Scripts/select2/select2.full.min.js"></script>
<script src="~/Scripts/select2/i18n/zh-CN.js"></script>
一、查询
获取当前选中值
$('#xxx').val()
电话号码查询示例:
var selectTelehone;
$(function () {
selectTelehone = $("#select-telehone");
initSelectTelephone();
});
function initSelectTelephone() {
selectTelehone.select2({
ajax: {
url: function (params) {
return "/PartyA/Telephone/SearchByShortNumber?partyACompanyId=" + partyACompanyId + '&TelephoneNumber=' + params.term;
},
dataType: 'json',
processResults: function (data, params) {
for (var i = ; i < data.length; i++) {
data[i].id = data[i].Id;
data[i].text = data[i].TelephoneNumber;
}
return {
results: data
};
},
cache: true
},
allowClear: true, //选中之后,可手动点击删除
placeholder: "输入号码搜索...",
escapeMarkup: function (markup) { return markup; }, // 让template的html显示效果,否则输出代码
minimumInputLength: , //搜索框至少要输入的长度,此处设置后需输入才显示结果
language: "zh-CN", //中文
templateResult: formatTelehoneNumber, // 自定义下拉选项的样式模板
templateSelection: formatTelehoneNumberSelection // 自定义选中选项的样式模板
});
selectTelehone.on("select2:select", function (evt) {
//这里是选中触发的事件
//evt.params.data 是选中项的信息
});
selectTelehone.on("select2:unselect", function (evt) {
//这里是取消选中触发的事件
//如配置allowClear: true后,触发
});
}
function formatTelehoneNumber(item) {
if (item.loading) return item;
var markup = '<div> <p class="text-primary">电话号码:' + item.TelephoneNumber + '</p>';
//markup += '这里可以添加其他选项...';
markup += ' </div>';
return markup;
}
function formatTelehoneNumberSelection(item) {
if (item.TelephoneNumber) {
return item.TelephoneNumber;
}
else {
return "输入号码搜索...";
}
}
二、操作
1.清空选中项
$("#id")..unbind("change").bind("change", function () {
//变更事件
});
$("#id").select2().val(null).trigger("change");//如无业务需求也可不使用trigger("change")
$("#id").find("option").remove();//清除搜索时输入的文字,默认会被记下、此操作仅在查询使用ajax时使用
//以下清空选中/赋值文本,但是无清空选中项的值
//$("#select2-select-telehone-container")的‘select-telehone’为select的ID值
$("#select2-select-telehone-container").closest('.select2-container--below').addClass("select2-container--focus").removeClass("select2-container--below");//清除当前被选中的文本
$("#select2-select-telehone-container").prop("title", '');//清除当前被选中的title属性,也可使用removeAttr('title')
$("#select2-select-telehone-container").html('<span class="select2-selection__placeholder">默认提示文本</span>'); //也可使用html('')清除当前被选中的文本
2.设置选中项
$(".js-programmatic-set-val").on("click", function () { $example.val("CA").trigger("change"); });//如果使用ajax获取数据,无法使用本方法,因为option在非查询时是空的
来源: https://www.cnblogs.com/xcsn/p/6437159.html
select2 使用方法总结的更多相关文章
- 转载 JS组件Bootstrap Select2使用方法详解
JS组件Bootstrap Select2使用方法详解 作者:懒得安分 字体:[增加 减小] 类型:转载 时间:2016-01-26我要评论 这篇文章主要为大家介绍了JS组件Bootstrap Sel ...
- select2使用方法总结
官网:http://select2.github.io/ 调用 <link href="~/Content/select2.min.css" rel="styles ...
- Select2使用方法汇总
引用: <script src="~/Content/plugins/select2/select2.min.js"></script> 1.简单使用 $. ...
- Vue 实例中的生命周期钩子
Vue 框架的入口就是 Vue 实例,其实就是框架中的 view model ,它包含页面中的业务处理逻辑.数据模型等,它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻 ...
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- jquery ui dialog 中使用select2 导致select2的input失去焦点的解决方法
在jqueryUI 的dialog中使用select2,select2的input search无论怎样都获取不到焦点? 解决方法: $(document).ready(function () { $ ...
- 关于 jquery select2 多个关键字 模糊查询的解决方法
select2 只针对 元素的text()进行匹配,实际开发过程中可能会存在通过id 或者特殊编码进行 多关键字匹配. 改动了下源码:红色为改动部分. process=function(element ...
- angular select2 ng-model 取值 ng-change调用方法
页面: 引入文件 '/select2.css', '/select2-bootstrap.css', '/select2.min.js', '/ui-select2.js' html: <div ...
- 利用Select2优化@Html.ListBoxFor显示,学会用MultiSelectList
最近需要用到多选框,Asp.Net MVC自带的@Html.ListBox或@Html.ListBoxFor的显示效果太差,于是找到了Select2进行优化,并正式了解了多选框的操作方法. 首先介绍多 ...
随机推荐
- python相关工具
1.matlab与python之间的数据传递 import scipy.io as sio import numpy as np ###下面是讲解python怎么读取.mat文件以及怎么处理得到的 ...
- tensorflow学习5----变量管理
---恢复内容开始--- 前面,读书笔记用加入正则化损失模型效果带来的提升要相对显著. 变量管理: 目的:当神经网络的结构更加复杂,参数更多的时候,就需要一个更好的方式来管理神经网络中的参数. 解决方 ...
- 那个写书教你交易期权的人James Cordier爆仓了
那个写书教你交易期权的人James Cordier爆仓了 11月15日,James Cordier掌管的期权交易公司OptionSellers.com通过邮件告知投资者,其公司管理的账户遭遇了毁灭性的 ...
- VPS采用的几种常见技术(OVZ、Xen、KVM)介绍与对比
很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ.Xen.KVM.Xen和HVM与PV. 在+XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用 ...
- 51Nod 1256 乘法逆元
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1256 给出2个数M和N(M < N),且M与N互质,找 ...
- 常用正则表达式爬取网页信息及HTML分析总结
Python爬取网页信息时,经常使用的正则表达式及方法. 1.获取<tr></tr>标签之间内容 2.获取<a href..></a>超链接之间内容 3 ...
- GoldenGate实时投递数据到大数据平台(1)-MongoDB
mongodb安装 安装 linux下可使用apt-get install mongodb-server 或 yum install mongodb-server 进行安装. 也可以在windows上 ...
- MyEclipse/Eclipse快捷键总结
MyEclipse/Eclipse快捷键 查找某个方法被谁调用:选中方法名,ctrl+shift+g 通过文件名称查找类或文件:ctrl+shift+r(Open Resource)
- AngularJS之登录显示用户名
效果图:在这里会显示出来用户名 使用AngularJs进行这样效果 第一步:写ng-app // 定义模块: var app = angular.module("pinyougou" ...
- Linux的远程连接工具:SSH的安装
在Linux执行命令很不方便,另外我们需要将自己计算机中的文件上传到Linux中,因此使用远程连接工具还是比较方便的. SSH安装 SSH的使用 打开安装好的软件:SSH Secure File Tr ...