jQuery+css模拟下拉框模糊搜索的实现
html:
@*输入框*@
<div>
<input type="text" style="width: 85%; height: 34px;" onkeyup="InputChange(this)" id="txtInput">
</div>
@*模拟下拉框*@
<div class="divselect" id="dpSelect"> </div>
css:
/*选择框效果*/
.divselect {
float: left;
position: relative;
z-index:;
background: #fff;
display: none;
width: 85%;
}
.divselect ul {
padding:;
margin:;
border: 1px solid #E4E4E4;
background-color: #ffffff;
position: absolute;
z-index:;
margin-top: -1px;
width: 100%;
overflow: auto;
max-height: 200px;
}
.divselect ul li {
list-style-type: none;
cursor: pointer;
height: 24px;
line-height: 24px;
}
.divselect ul li:hover {
background: #ccc;
}
js:
<script type="text/javascript">
//点击模拟下拉框以外的地方 下拉框消失
$(document).bind('click', function (e) {
var e = e || window.event; //浏览器兼容性
var elem = e.target || e.srcElement;
while (elem) { //循环判断至跟节点,防止点击的是div子元素
if (elem.id && elem.id == 'dpSelect') {
return;
}
elem = elem.parentNode;
}
$('#dpSelect').css('display', 'none'); //点击的不是div或其子元素
}); //用文本框onkeyup事件触发InputChange方法 InputChange方法判断文本框文字是否改变 文字改变则触发SearchName方法
var sOldValue;
sOldValue = "";
function InputChange(arg) {
var vNewValue = $(arg).val();
if (sOldValue != vNewValue) {
//根据条件查询结果并给下拉框动态赋值
SearchName(arg);
sOldValue = vNewValue;
}
}
function SearchName(arg) {
var name = $(arg).val();
//如果搜索框为空 则返回false
if (name == "") {
$("#dpSelect").attr("style", "display:none");
return false;
}
else {
$("#dpSelect").attr("style", "display:block");
}
//获取数据 并给下拉框动态赋html
$.ajax({
type: "post",
url: "......",
data: { name: name },
dataType: "",
async: false,
success: function (data) {
var strs = "";
strs += "<ul>";
for (var i = 0; i < data.length; i++) {
strs += '<li onclick="SetValue(this)">' + data[i] + '</li>';
}
strs += "</ul>";
$("#dpSelect").html(strs);
},
error: function () {
alert("查询出错");
}
}); }
//点击模拟下拉框内选项后 给文本框赋值 关闭下拉框
function SetValue(arg) {
var value = $(arg).text();
$("#txtInput").val(value);
$("#dpSelect").attr("style", "display:none");
}
</script>
jQuery+css模拟下拉框模糊搜索的实现的更多相关文章
- jquery模拟下拉框单选框复选Select,Checkbox,Radio
在项目中,你会发现设计稿中常常会有单选框,复选框,但都不是系统默认的样式,这就可以用jquery来模拟它们:如图所示,实现它们所需要的代码如下: 首先需要引入的代码: <link rel=&qu ...
- 项目总结12:bootstrap-select下拉框模糊搜索
bootstrap select下拉框模糊搜索 关键字 bootstrap-select 下拉框模糊搜索 正文(直接上源码) <%@ page language="java" ...
- JS模拟下拉框select
最近做的一个项目有下拉框 同事都是用的是美化控件,但是用美化控件当然是好 但是网上找的一个控件不知道扩展性怎么样?对以后的维护会不会造成有影响?比如我想增加一个功能或者减少一个功能会不会影响?还有就是 ...
- jQuery之双下拉框
双下拉框要实现的效果,实际上就是左边下拉选择框里的内容,可以添加到右边,而右边同理.写了个简单的例子,来说明一下. 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- div模拟下拉框
1.模拟下拉框.点击文本框在文本框下面显示一个层divList,点击divList以外的任何地方,关闭divList层 document.body.onclick = function (e) { e ...
- jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...
- jQuery操作select下拉框的text值和value值的方法
1.jquery获取当前选中select的text值 $("#select1").find("option:selected").text(); 2.jquer ...
- js&jquery 获取select下拉框的值、文本内容、自定义属性
js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...
- JQuery操作select下拉框
JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...
随机推荐
- Leetcode 1019. Next Greater Node In Linked List
单调栈的应用. class Solution: def nextLargerNodes(self, head: ListNode) -> List[int]: stack = [] ret = ...
- 让cocos h5里的文字可以在手机上被长按复制
更改CCBoot.js代码: // Adjust mobile css settings if (cc.sys.isMobile) { var fontStyle = document.createE ...
- SQLServer2008导入Excel遇到的问题
今天同事给客户处理基础物料信息,要把Excel中的几千行物料信息导入到数据库.觉得不是啥难事,写个SQL语句而已,没成想,实际一操作,出问题了. SELECT * FROM OPENROWSET('M ...
- 【整理】石子合并问题(四边形不等式DP优化)
有很多种算法: 1,任意两堆可以合并:贪心+单调队列. 2,相邻两堆可合并:区间DP (O(n^3)) ). 3,相邻,四边形不等式优化DP (O(n^2) ). 4,相邻,GarsiaWach ...
- 【WCF安全】SOAP消息实现用户名验证:通过OperationContext直接添加/访问MessageHeader信息
服务代码 1.契约 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Se ...
- LibreOJ β Round #2 题解
LibreOJ β Round #2 题解 模拟只会猜题意 题目: 给定一个长为 \(n\) 的序列,有 \(m\) 次询问,每次问所有长度大于 \(x\) 的区间的元素和的最大值. \(1 \leq ...
- break、continue与return的区别
1. break break语句的使用场合主要是switch语句和循环结构.在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句.如果在多重嵌套循 ...
- AVAWEB学习笔记 ---- 系列文章
[JAVAWEB学习笔记]网上商城实战5:后台的功能模块 [JAVAWEB学习笔记]网上商城实战4:订单模块 [JAVAWEB学习笔记]网上商城实战3:购物模块和订单模块 [JAVAWEB学习笔记]网 ...
- GX 编译器 的搭建
1.交叉编译器 /etc/profile export JAVA_HOME=/opt/jdk1.6.0_45PATH=/opt/gx/csky-elf/bin:/opt/gx/arm-elf/bin: ...
- FPGA噪声干扰
在FPGA高速AD采集设计中,PCB布线差会产生干扰.今天小编为大家介绍一些布线解决方案. 1.信号线的等长 以SDRAM或者DDRII为例,数据线,命令线,地址线以及时钟线最好等长,误差不要超过50 ...