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根据后台数据实现自动输入提示功能相关推荐

  1. 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

    注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...

  2. EasyUI的datagrid删除后一页所有数据不自动显示前页数据

    今天发现一个关于easyui的问题,一个用datagrid做的列表页面,删除最后一页所有数据后,发现刷新后列表为空,页码仍是这一页,正确的效果应该是加载上一页数据.于是看了代码,发现确认删除是会通过$ ...

  3. 文本框输入即时Ajax搜索,JQuery+AJAX实现搜索文本框的输入提示功能

    平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...

  4. jquery,ajax动态从数据库加载数据并自动选中复选框

    ajax动态加载下拉框数据(前端js发送ajax请求,后端查询数据库,得到数据,返回前端),GET,POST,DELETE,PUT上一篇地址 上一篇讲了下拉框,现在说说复选框 先从简单的单选框说起 & ...

  5. ajax 文本框 搜索,JQuery+AJAX实现搜索文本框的输入提示功能

    平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...

  6. sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

    原生sd.js---------------------------------------------------------------- const API_ROOT_URL = "h ...

  7. SpringBoot前端Ajax以JSON格式获取后台数据

    最近在用Thymeleaf做一个项目,耳边总是飘过前后端分离的话语,不得不去了解一下,在Thymeleaf里如何获取后端的json串,这里进行详细的讲解一下(困扰了我好久/哭了) 首先我们需要一个Co ...

  8. 前端Ajax以JSON格式获取后台数据

    最近在用Thymeleaf做一个项目,耳边总是飘过前后端分离的话语,不得不去了解一下,在Thymeleaf里如何获取后端的json串,这里进行详细的讲解一下(困扰了我好久/哭了) 首先我们需要一个Co ...

  9. easyui datatable ajax 加载数据,ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询...

    js前台对datagrid的定义代码,如下 mygrid = $('#mytable').datagrid({ fit: true, //自动大小 height: 'auto', rownumbers ...

最新文章

  1. Python使用matplotlib可视化散点图、并在可视化图像的底部和右边添加边缘箱图(Marginal Boxplot)
  2. 阿里首次公开量子通信技术 为20年后做准备
  3. 自编网页是处理url时服务器出错,【上海校区】自编教材《web标准网页制作实例教程》连载...
  4. 关于Thinkphp3.2版本的分页问题
  5. 详解python运行三种方式_详解python调用cmd命令三种方法
  6. Maven的pom报错的解决方法
  7. vscode设置templates_在VScode中创建你的代码模板的方法
  8. Java讲课笔记15:抽象类、接口和多态
  9. 使用一些宏跟踪调试__LINE__ __FILE__ __DATE__ __TIME__ __STDC__
  10. CAD(计算机辅助设计)
  11. LaTeX tikz初探——利用emoji画GPS卫星2D分布图(2)
  12. 抗滑桩弹性计算方法_抗滑桩设计与计算99147
  13. 谷歌浏览器禁止右滑返回历史_早报:拼多多加大百亿补贴力度;嫦娥五号择机返回地球;贾跃亭再成被执行人;微信订阅号页面改版...
  14. 几款开源的Windows界面库
  15. Python 实现 批量 复制指定PDF文件 到指定文件夹并批量打印出来
  16. Win10中英文切换 win键+空格
  17. hdu5651xiaoxin juju needs help(大组合数模板)
  18. html5的div是什么意思,div是什么意思?
  19. [题解][CF-1292C]Xenon‘s Attack on the Gangs
  20. context.lookup(java:comp/env/XXX)和直接context.lookup(XXX)的区别

热门文章

  1. .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...
  2. GitHub宣布GitHub Education 新计划,学校可免费用企业版
  3. Julia女神告诉我任何一家企业本质上都是一家软件公司
  4. OpenID Connect:OAuth 2.0协议之上的简单身份层
  5. .Net Core上用于代替System.Drawing的类库
  6. mysql数据库的目录_了解MySQl数据库目录
  7. windows 常用系统变量
  8. 利用pdf.js开发嵌入pdf显示,以及利用jquery-ui左右分栏显示
  9. 校园春色关不住,怎奈何唯有花枝俏,不见赏花人?
  10. 如何设置Matlab输出到Word中图片的大小