模糊查询基于select遍历json文件自动填充的实现

HTML页面

<tr>
    <td align="left"><span>案由</span>
        <input  type="text" name="ay" id="ay" value=""  placeholder="输入内容之后,回车键可进行模糊检索!" onclick="showAy()" onkeypress="checkEnter(event,this);"  style="width:340px;height:26px;position: relative;top:2px;left:-1px;"/>
        <select  id="selectAy" style="width:340px;height:26px; overflow:hidden;position:relative;top:-8px;left:92px;display:none;" onchange="changeAy()"  onblur="outfocus(this)"></select>
    </td>
</tr>

js文件

 1 //模糊查询-----选择方法
 2 function checkAyValue(){
 3     var ay = document.getElementById("ay").value;
 4     if(ay!="" && ay!= null){
 5         selectAy(ay);
 6     }else{
 7         showAy();
 8     }
 9 }
10 //模糊查询开始
11 function selectAy(ay){
12     $("#selectAy").css({"display":"none"});
13     var jsonfile = "minshi.json";
14     if(ajtype.indexOf("民事")!=-1){jsonfile = "minshi.json";}
15     else if(ajtype.indexOf("刑事")!=-1){jsonfile = "xingshi.json";}
16     else if(ajtype.indexOf("行政")!=-1){jsonfile = "xingzheng.json";}
17     else if(ajtype.indexOf("赔偿")!=-1){jsonfile = "peichang.json";}
18     else if(ajtype.indexOf("执行")!=-1){jsonfile = "zhixing.json";}
19
20     var ayName="";
21     $.ajax({
22            url: appPath + "clientpage/json/ay/" + jsonfile,//json文件位置
23            type: "GET",//请求方式为get
24            dataType: "json", //返回数据格式为json
25            success: function(data) {//请求成功完成后要执行的方法
26                //除第一次外,清空select中的option选项
27                $("#selectAy").empty();
28                //遍历json数组
29                $.each(data, function(i, item) {
30                     var s = item.id.indexOf(ay);
31                     if (s !=-1) {
32                         ayName=item.name;
33                         $("#selectAy").append("<option value=\"" + ayName + "\" >" + ayName + "</option>");
34                     }
35                 });
36                 if(ayName==null || ayName == ""){
37                     afterSelectAy();
38                     document.getElementById("ay").value=null;
39                 }else{
40                     changeAy();
41                 }
42            }
43     });
44 }
45 function changeAy(){
46     document.getElementById("ay").value=
47         document.getElementById("selectAy").options[document.getElementById("selectAy").selectedIndex].value;
48  }
49 NS4 = (document.layers) ? true : false;
50 function checkEnter(event,element){
51     var code = 0;
52     if (NS4) code = event.which;
53     else code = event.keyCode;
54     if (code==13){
55         $("#ayContent").css({"display":"none"});
56         checkAyValue();
57         $("#selectAy").css({"display":""});
58         $("#selectAy").css({"background-color":"#F2F8FD"});
59     }
60 }
61 function afterSelectAy(){
62     layer.msg(‘没有符合您输入要求的检索结果,请重新输入进行检索!‘);
63 }
64 function outfocus(){
65     $("#selectAy").css({"display":"none"});
66 }
67 //模糊查询结束

参考:下拉框可实现select与input功能的简便做法

   bootstrap框架下下拉框select搜索功能

本文仅作为个人记录。

可供参考。

2017-11-1  08:36:00  修改

2017-11-13 08:36:19  上传

时间: 2024-10-08 17:54:05

模糊查询基于select遍历json文件自动填充的实现的相关文章

基于 Python + Proftpd 实现文件自动备份

一.环境概述 1.概述 作用:将项目服务器的重要需备份文件自动定期备份至公司内部的服务器 架构:FTP 服务器部署于内网服务器,为被动模式,通过防火墙映射21端口和通信端口,使外网的机器可以访问.客户端为Linux或Windows服务器,通过python脚本(版本为python 2)将本地需要备份的文件定时打包上传至 FTP 服务器 2.服务器配置说明 角色 操作系统 IP 地址 备注 备份客户端 centos 6/7.Windows 192.168.101-103 FTP 服务器 centos

scp传输文件,自动填充密码

一个偷懒的小shell, #!/usr/bin/expect #************************************************************************* # > File Name: expect.sh # > Author: chenglee # > Main : [email protected] # > Blog : http://www.cnblogs.com/chenglee/ # > Created Tim

关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询

http://www.jianshu.com/p/eeb6a898d4ec 前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. SQL数据查询 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]- FROM <表名或视图名>[,<表名或视图名>]- [WHERE <条件表达式>] [GROUP BY <列名> [HAVING &l

MySQL模糊查询:LIKE模式和REGEXP模式

MySQL模糊查询提供了两种模式:LIKE模式和REGEXP模式. LIKE模式 LIKE模式是使用的LIKE 或 NOT LIKE 比较运算符进行模糊查询. SELECT 字段 FROM 表 WHERE 字段 LIKE[NOT LIKE] '条件' 针对条件,有以下几种通配符: 通配符 含义 % 表示任意一个或多个字符,可匹配任意类型和长度的字符 _ 表示任意单个字符,匹配单个任意字符 ESCAPE 关键字定义转义符.在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符. 示例: #

SQL server 模糊查询 排序 聚合函数 数学函数 字符串函数 时间日期函数 转换、函数转换

create database lianxi831  --创建数据库gouse lianxi831  --引用数据库gocreate table xs  --插入表格( code int not null,  --写入内容 name varchar(10), cid varchar(18), banji varchar(10), yufen decimal(18,2), shufen decimal(18,2), yingfen decimal(18,2),)goinsert into xs v

mysql concat函数进行模糊查询

concat() 函数,是用来连接字符串. 精确查询: select * from user where name="zhangsan" 模糊查询: select * from user where name like "%zhang%" 在实际的使用中,条件是作为参数传递进来的. 所以我们使用 concat() 函数 mybatis: select * from user where name like concat("%", #{name},

mysql笔记十——数据库分页技术(再分页,模糊查询)

1.什么是数据分页:数据分页就是将很多条记录像书本一样分页,每页显示多少行记录: 2.为什么要数据分页:当我们进行sql语句查询时,假如数据有成千上万行记录,如果在同一个页面去显示,那这个页面得有多大,数据就要很多,而我们所需的记录又很少,不使用分页,查看起来那么繁琐,而且一不小心容易看着眼花.使用数据分页,就行书本一样,有页数,一目了然.相当简洁. 3.核心sql语句:SELECT * FROM stud LIMIT m,n ----m表示要显示的页数,n表示显示的记录行数 4.核心思想: 总

MyBatis模糊查询相关

Mybatis模糊查询的实现不难,如下实例:在UserMapper.xml中根据用户名模糊查询用户: <!-- 模糊查询用户 --> <select id="findSomeUser" resultMap="userResultMap" parameterType="java.lang.String"> SELECT * FROM user WHERE username LIKE CONCAT('%',#{value},'

sql语句对int类型进行模糊查询

重点:select * from course where cast(courseId as char) like '%118%'; 首先可以将int类型转换为string类型的值再进行模糊查询,用方法cast(num as char):这个可以将num(int类型)转化为char类型.完整的语句:假如我现在要在课程表(course)里面根据课程id(courseId)进行模糊查询:select * from course where cast(courseId as char) like '%