easyui select ajax,easyui的combobox根据后台数据实现自动输入提示功能
easyui的combobox根据后台数据实现自动输入提示功能
发布时间:2020-06-11 10:09:41
来源:51CTO
阅读:1981
作者:crackernet
adauhuehkek最近做项目的时候遇到一个需求,需要在录入数据的时候检索已经存在的数据记录,并从中提取相似的数据进行展示并选择,以提高录入效率,简单的说,这个功能有点像在谷歌、百度搜索框里输入一个关键字,然后自动在下边列举出与关键字相似的信息供选择。好啦,现在功能说完了,下边就直入正题,把两种方法都列出来,以供需要的人去选择使用,其实两种方法的区别之处很小,主要是在返回检索结果时调用方法不一样,一种是map(),另一种是each(),这两个方法的区别我就不说了,简单总结就是map()要从建数组,each()直接返回原始数组,基于这一点,在内存开销上显然each()更好一点,当然,这个也不一概而论,看各自需求了。
服务端:
getAddress.asp
dim myrs,sqlstr,singleJson,sqlstr2,q
Set myrs=server.CreateObject("adodb.recordset")
'q=Replace(Request.QueryString("q"),"'","''")
q=request.Item("param")
set singleJson = new MtRecToJson
sqlstr = "select address from callrecord where address like'%"&q&"%'"
sqlstr2="select id,usr,uid,usrType,corp from usr order by id"
sqlstr3="select top 1 * from usr where 1=2"
if q<>"" or q<>null then
myrs.Open sqlstr,Conn,1.1
else
myrs.Open sqlstr2,Conn,1.1
end if
singleJson.setRecordset(myrs)
response.write singleJson.getListJsonDB()
if not IsEmpty(myrs) then
if myrs.State>0 then
myrs.close
end if
set myrs = nothing
end if
conn.close
set conn = nothing
%>
TypeJson.asp
'JSON 接口通用类
Class MtRecToJson
private recordset
private json_str
private mask_fields
private Sub Class_Initialize
end sub
'public property let setRecordset(byval rec)
' set recordset = rec
'end property
'设置值 参数为ADODB.recordset对象
public sub setRecordset(rec)
if TypeName(rec)="Recordset" then
set recordset = rec
end if
end sub
'获得JSON
public Function getOneJsonDB()
dim i
json_str = "{"
if not IsEmpty(recordset) then
For i=0 To recordset.fields.count-1
json_str = json_str & """"&recordset.fields(i).name&""""
json_str = json_str & ":"
json_str = json_str & """"
if not recordset.eof then
json_str = json_str & recordset.fields(i).value
end if
json_str = json_str & """"
if i
json_str = json_str & ","
end if
Next
end if
json_str = json_str & "}"
getOneJsonDB = json_str
end function
'获得JSON 格式的list
public Function getListJsonDB()
dim i,k
json_str = json_str & "["
if not IsEmpty(recordset) then
For k=0 To recordset.recordcount-1
if k>=recordset.pageSize then Exit for
If recordset.Eof Then Exit For
json_str = json_str & "{"
For i=0 To recordset.fields.count-1
json_str = json_str & """"&recordset.fields(i).name&""""
json_str = json_str & ":"
json_str = json_str & """"
if not recordset.eof then
json_str = json_str & recordset.fields(i).value
end if
json_str = json_str & """"
if i
json_str = json_str & ","
end if
Next
json_str = json_str & "}"
if k
json_str = json_str & ","
end if
recordset.MoveNext
next
end if
if(Right(json_str,1)=Chr(44)) then'查看拼接字符串最后是否有异常(偶尔存在逗号,不知道为什么),如果有就主动添加一个结尾字段
json_str = json_str & """end""]"
else
json_str = json_str & "]"
end if
getListJsonDB = json_str
end function
end class
%>
客户端:
show.asphtml>
Remote JSON
Remote JSON
This sample shows how to use JSON to retrieve data from a remote site.
var myloader = function(param, success, error) {
var q = param.q || '';
if (q.length
$.ajax({
type: 'post',
url: 'getAddress.asp',
dataType: 'json',
//contentType: 'application/x-www-form-urlencoded:charset=UTF-8',
data: { param: q },
success: function(data) {
//alert(data);
// var items = $.map(data, function(value) {
// return {
// address: value
// };
// });
var items = $.each(data, function(value) {
return this; //遍历数组中的值
});
success(items);//调用loader的success方法,将items添加到下拉框中
},
error: function() {
error.apply(this);
}
});
}
$(function() {
$('#s1').combobox({
loader: myloader,
mode: 'remote',
valueField: 'address',
textField: 'address',
editable:'true',
hasDownArrow: false
});
})
easyui select ajax,easyui的combobox根据后台数据实现自动输入提示功能相关推荐
- 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...
- EasyUI的datagrid删除后一页所有数据不自动显示前页数据
今天发现一个关于easyui的问题,一个用datagrid做的列表页面,删除最后一页所有数据后,发现刷新后列表为空,页码仍是这一页,正确的效果应该是加载上一页数据.于是看了代码,发现确认删除是会通过$ ...
- 文本框输入即时Ajax搜索,JQuery+AJAX实现搜索文本框的输入提示功能
平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...
- jquery,ajax动态从数据库加载数据并自动选中复选框
ajax动态加载下拉框数据(前端js发送ajax请求,后端查询数据库,得到数据,返回前端),GET,POST,DELETE,PUT上一篇地址 上一篇讲了下拉框,现在说说复选框 先从简单的单选框说起 & ...
- ajax 文本框 搜索,JQuery+AJAX实现搜索文本框的输入提示功能
平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...
- sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
原生sd.js---------------------------------------------------------------- const API_ROOT_URL = "h ...
- SpringBoot前端Ajax以JSON格式获取后台数据
最近在用Thymeleaf做一个项目,耳边总是飘过前后端分离的话语,不得不去了解一下,在Thymeleaf里如何获取后端的json串,这里进行详细的讲解一下(困扰了我好久/哭了) 首先我们需要一个Co ...
- 前端Ajax以JSON格式获取后台数据
最近在用Thymeleaf做一个项目,耳边总是飘过前后端分离的话语,不得不去了解一下,在Thymeleaf里如何获取后端的json串,这里进行详细的讲解一下(困扰了我好久/哭了) 首先我们需要一个Co ...
- easyui datatable ajax 加载数据,ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询...
js前台对datagrid的定义代码,如下 mygrid = $('#mytable').datagrid({ fit: true, //自动大小 height: 'auto', rownumbers ...
最新文章
- Python使用matplotlib可视化散点图、并在可视化图像的底部和右边添加边缘箱图(Marginal Boxplot)
- 阿里首次公开量子通信技术 为20年后做准备
- 自编网页是处理url时服务器出错,【上海校区】自编教材《web标准网页制作实例教程》连载...
- 关于Thinkphp3.2版本的分页问题
- 详解python运行三种方式_详解python调用cmd命令三种方法
- Maven的pom报错的解决方法
- vscode设置templates_在VScode中创建你的代码模板的方法
- Java讲课笔记15:抽象类、接口和多态
- 使用一些宏跟踪调试__LINE__ __FILE__ __DATE__ __TIME__ __STDC__
- CAD(计算机辅助设计)
- LaTeX tikz初探——利用emoji画GPS卫星2D分布图(2)
- 抗滑桩弹性计算方法_抗滑桩设计与计算99147
- 谷歌浏览器禁止右滑返回历史_早报:拼多多加大百亿补贴力度;嫦娥五号择机返回地球;贾跃亭再成被执行人;微信订阅号页面改版...
- 几款开源的Windows界面库
- Python 实现 批量 复制指定PDF文件 到指定文件夹并批量打印出来
- Win10中英文切换 win键+空格
- hdu5651xiaoxin juju needs help(大组合数模板)
- html5的div是什么意思,div是什么意思?
- [题解][CF-1292C]Xenon‘s Attack on the Gangs
- context.lookup(java:comp/env/XXX)和直接context.lookup(XXX)的区别
热门文章
- .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...
- GitHub宣布GitHub Education 新计划,学校可免费用企业版
- Julia女神告诉我任何一家企业本质上都是一家软件公司
- OpenID Connect:OAuth 2.0协议之上的简单身份层
- .Net Core上用于代替System.Drawing的类库
- mysql数据库的目录_了解MySQl数据库目录
- windows 常用系统变量
- 利用pdf.js开发嵌入pdf显示,以及利用jquery-ui左右分栏显示
- 校园春色关不住,怎奈何唯有花枝俏,不见赏花人?
- 如何设置Matlab输出到Word中图片的大小