Select2异步搜索数据
$('#countryID').select2(
{
placeholder: "请选择国家",
ajax: {
dataType: 'json',
type: 'POST',
delay: 500,
data: function (params) {
return {
SearchKey: params.term //params.term 搜索参数值
};
},
transport: async function (params, success, failure) { //这个params和上个params是不太一样,建议 console.log(params)
if (typeof (params.data.SearchKey) == "undefined") { //刚聚焦是参数值是undefined的
var data = await vm.searchCountries({}); //data是返回的绑定数据,json数组 [{"ComapnyDistrictCode":[],"ParentID":"0","Name":"阿富汗伊斯兰国"},{...}]
if (data && data.length > 0) {
success(data); //插件自带的回调success函数,
} else {
failure();
}
}
else if (params.data.SearchKey.length >= 2) { //如果输入的参数值大于等于2,去搜索数据
var data = await vm.searchCountries(params.data);
if (data && data.length > 0) {
success(data);
} else {
failure();
}
}
},
processResults: function (data, page) {
var arr = [];
data.map(x => arr.push({ id: x.ID, text: x.NameEn + '(' + x.Name + ')' })); //整理绑定格式 , 放到arr里
return {
results: arr,
more: false
};
},
cache: true
},
escapeMarkup: function (markup) {
return markup;
},
// let our custom formatter work
// minimumInputLength: 2, //至少输入多少个字符后才会去调用ajax
// maximumInputLength: 20, //最多能输入多少个字符后才会去调用ajax
// minimumResultsForSearch: 1,
// width: "260px",
templateResult: function (data) {
if (data.loading) return data.text;
return "<div>" + data.text + "</div>";
},
templateSelection: function (data) {
return data.text;
}
}).on('change', function () { //onchange函数回调
// 這裡呼叫回調並傳入現在選取的 value
vm.customFrom.Country = this.value;
vm.customFrom.CountryIndex = this.selectedIndex;
this.isInitSelect = true;
});
}
},
searchCountries(params) { //异步请求数据
return new Promise(function (resolve, reject) {
$fn.post($api.getCountries, params, ret => {
if (ret.ErrorCode == 1 && ret.Data) {
resolve(ret.Data);
} else {
resolve([]);
}
});
});
Select2异步搜索数据的更多相关文章
- jquery zTree异步搜索的例子--搜全部节点
参考博客: https://segmentfault.com/a/1190000004657854 https://blog.csdn.net/houpengfei111/article/detail ...
- 09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据,返回字符串
cmd下安装axios npm install axios 安装好后,会多出node_modules文件夹 思路: 监听data里的word改变时,发送ajax异步请求数据, 把返回的数据赋值给dat ...
- ajax异步获取数据后动态向表格中添加数据(行)
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 <!doctype html> ...
- python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫
用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...
- datatables异步获取数据、简单实用
IKC项目总结 一.认证难题管理模块 1. 如何使用datatables进行获取数据内容 datatables简介:Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何H ...
- ASP模拟POST请求异步提交数据的方法
这篇文章主要介绍了ASP模拟POST请求异步提交数据的方法,本文使用MSXML2.SERVERXMLHTTP.3.0实现POST请求,需要的朋友可以参考下 有时需要获取远程网站的某些信息,而服务器又限 ...
- flask+sqlite3+echarts3+ajax 异步更新数据
结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...
- 串行通讯之.NET SerialPort异步写数据
目录 第1章说明 2 1 为什么需要异步写数据? 2 2 异步写数据的代码 2 3 源代码 4 第1章说明 1 为什么需要异步写数据? 如下图所示,以波特率300打开一个串口. ...
- 使用load()方法异步请求数据
使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为: load(url,[data],[callback]) 参数url为加载服务器地址,可选项d ...
随机推荐
- modal 永久移除遮盖层
样式中直接加入: .modal-backdrop { opacity: 0 !important; filter: alpha(opacity=0) !important;}
- MFC程序执行后台操作时不允许操作界面的一种方法
在使用MFC编写界面程序时,有时候会遇到像点击按钮后,后台进行大量操作后才显示处理结果这种情况,在后台处理过程中,界面不应该被允许做任何操作,这里介绍一种方法. 解决办法 点击按钮后,弹出一个模态对话 ...
- C++探究transform算法
transform函数原型 1. template<class _InIt, class _OutIt, class _Fn1> inline _OutIt transform(_InIt ...
- Js表单验证控件-02 Ajax验证
在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...
- 简单的基于矩阵分解的推荐算法-PMF, NMF
介绍: 推荐系统中最为主流与经典的技术之一是协同过滤技术(Collaborative Filtering),它是基于这样的假设:用户如果在过去对某些项目产生过兴趣,那么将来他很可能依然对其保持热忱.其 ...
- react中使用vw + antd-mobile进行移动端布局
首先create-react-app react-vw一顿简单操作生成个demo 1.cnpm run eject 暴露config文件,再cnpm run start报错 (报错... Canno ...
- Android精通教程V
前言 大家好,给大家带来Android精通教程V的概述,希望你们喜欢 前言 如果你想学习Android开发,那你就要了解Java编程,这是基础,也是重点,如果没学Java语法就先学习,再来学Andro ...
- windows快速打开命令窗口方式[利刃篇]
windows当然是窗口界面操作了,谁有事没事去用什么命令行啊,但是当你要用的时候,也要会用才行哦. 打开命令行的方式小说一下: 1.开始 > 运行 > cmd , enter, ok ...
- Spring Boot Debug调试
在使用spring-boot:run进行启动的时候,如果设置的断点进不去,要进行以下的设置. 1.添加jvm参数配置 在spring-boot的maven插件加上jvmArguments配置. < ...
- window7利用Nexus搭建maven私有服务器
下载地址 https://www.sonatype.com/oss-thank-you-win64.zip: cmd管理员运行命令 nexus.exe/install Nexus Service:(n ...