您现在的位置是:网站首页> 编程资料编程资料
Html5新标签datalist实现输入框与后台数据库数据的动态匹配HTML5实现搜索输入框下拉列表代码html5实现输入框字数限制提示抖动效果HTML5 虚拟键盘出现挡住输入框的解决办法HTML5为输入框添加语音输入功能的实现方法HTML5输入框下拉菜单功能的示例代码
2023-10-13
287人已围观
简介 HTML5新增的标签datalist实现输入中文/拼音首字母时,自动进入数据库模糊查询,并返回相应的结果,生成datalist,由于在输入框中的输入内容发生变化时,datalist会自动触发下拉框,解决方案非常好,下面通过本文给大家分享实例代码,需要的的朋友参考下吧
最近项目中涉及到一个小功能,客户在选择供应商时,由于供应商数目较多(大概3000个左右),因此直接生成下拉框显然不现实,所以就更换解决方案,打算借助HTML5新增的标签datalist来实现输入中文/拼音首字母时,自动进入数据库模糊查询,并返回相应的结果,生成datalist,由于在输入框中的输入内容发生变化时,datalist会自动触发下拉框,所以使用起来比select更便捷。前端部分代码如下:
Html Code:
库存下拉框测试 下拉框测试
按 供应商名动态匹配(中文或者拼音均可):测试数据(默认均为d00001):
昆山市大陆配件有限公司 ksdlpjyxgs
亿真企业有限公司 yzqyyxgs
泰州市安誊轴皮厂(集团厂) tzsatzpc(jtc)
JavaScript Code:
var listobj=null; //datalist对象 var requestItem=null; //后台返回的json数据中所需的key值 var inputContent=null; //input标签对象 /**search()说明: * inputID: input标签的ID * datalistID: datalist标签的ID * itemName: 后台返回的json数据中所需的key值(仅需表格中中文字段的属性名) * */ function search(inputID,datalistID,itemName) { inputContent=document.getElementById(inputID); var datalist=document.getElementById(datalistID); //防止在无输入内容的情况下产生遗留下拉选项 if(inputContent.value.length==0||inputContent.value==" ") { var sub=datalist.childNodes; if(sub.length>0) { for (var i =sub.length-1; i>=0 ; i--) { datalist.removeChild(sub[i]); } } listobj=null; requestItem=null; inputContent.value=null; return false; } //全局变量赋值 listobj=datalist; requestItem=itemName; var data=""; var url=""; if(/^[a-zA-Z]*$/.test(inputContent.value)) { //检测出是拼音首字母 data="type=searchWords¶m="+inputContent.value; //注意:data-----------需要自定义 url=baseurl + "/servlet/ListDemo"; //注意:url-----------需要自定义 sendRequest("post",url,data,getResult); } else if (/^[\u4e00-\u9fa5]*$/.test(inputContent.value)) { //检测出是中文 data="type=searchChinese¶m="+inputContent.value; //注意:data-----------需要自定义 url=baseurl + "/servlet/ListDemo"; //注意:url-----------需要自定义 sendRequest("post",url,data,getResult); } } //填写仓库下拉框 function getResult(result) { var data=result; var JData=eval("(" + data + ")"); var maxlength=10; //注释:maxlength保证过多查询结果下只显示10条 if(JData.length<=10) { maxlength=JData.length; } var sub=listobj.childNodes; for (var i =sub.length-1; i>=0 ; i--) { listobj.removeChild(sub[i]); //清空datalist所有的下拉选项 } if(JData.length==0) //没有查询结果 { alert("没有符合条件的结果,请重输"); inputContent.value=""; //清空input输入框的值 return false; } for (var i=0;i
以上所述是小编给大家介绍的Html5新标签datalist实现输入框与后台数据库数据的动态匹配,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
相关内容
- HTML5中indexedDB 数据库的使用实例html5中localStorage本地存储的简单使用HTML5 LocalStorage 本地存储刷新值还在详解HTML5 LocalStorage 本地存储 html5本地存储 localStorage操作使用详解Html5 web本地存储实例详解HTML5本地存储之Web Storage详解html5 初试 indexedDB(推荐)深入解析HTML5的IndexedDB索引数据库HTML5本地存储之IndexedDB
- 详解HTML5 window.postMessage与跨域HTML5中使用postMessage实现Ajax跨域请求的方法html post请求之a标签的两种用法解析
- HTML5操作WebSQL数据库的实例代码HTML5安全风险之WebSQL攻击详解
- HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)详解HTML5 data-* 自定义属性全面解析HTML5中的标准属性与自定义属性html5的自定义data-*属性与jquery的data()方法的使用HTML5的自定义属性data-*详细介绍和JS操作实例HTML5自定义data-* data(obj)属性和jquery的data()方法的使用HTML5自定义属性的问题分析
- HTML5中的拖放实现详解HTML5 拖放(Drag 和 Drop)详解与实例代码HTML5拖放API实现拖放排序的实例代码HTML5拖放效果的实现代码HTML5 拖放功能实现代码 HTML5逐步分析实现拖放功能的方法
- html5使用Drag事件编辑器拖拽上传图片的示例代码html5拖拽排序多图片上传插件特效源码HTML5 拖拽批量上传文件的示例代码html5实现多图片预览上传及点击可拖拽控件HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)HTML5 canvas实现移动端上传头像拖拽裁剪效果结合html5+nodejs+express实现拖拽上传的功能HTML5拖拽文件到浏览器并实现文件上传下载功能代码html5 拖拽上传图片实例演示HTML5拖拽文件上传的示例代码
- 全民英雄纯肉紫卡技能全面解析 全民英雄纯肉型力量英雄推荐_手机游戏_游戏攻略_
- 全民英雄最没有培养价值紫卡英雄排行榜 最差紫卡英雄一览_手机游戏_游戏攻略_
- 全民英雄挑战副本卡牌掉落一览表 全民英雄紫卡获得方法攻略_手机游戏_游戏攻略_
- 全民英雄紫卡输出力量英雄全面解析 全民英雄输出型力量英雄推荐_手机游戏_游戏攻略_