300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 类似百度搜索框实时搜索的实现

类似百度搜索框实时搜索的实现

时间:2023-04-20 13:25:27

相关推荐

类似百度搜索框实时搜索的实现

1、html代码

<input type="text" name="ProjectNumber" id="ProjectNumber" /><div class="contain__border__search" id="ProjectNumberSearch"></div>

2、css样式

.contain__border__search {display: none;position: relative;z-index: 9;max-height: 200px;overflow: auto;border: 1px solid #ccc;background: #fff;width: 60%;margin-left: 35%;margin-top: -1px;border-top: none;box-shadow: 0 0 1px #ccc;}.contain__border__search p {font-size: 14px;height: 20px;line-height: 20px;}.contain__border__search p:hover {background: rgba(245, 239, 242, 1);}

3、js实现

// 项目编号加keyup事件$("#ProjectNumber").keyup(function () {$("#ProjectNumberSearch").html(""); // 初始搜索框为空var code = $("#ProjectNumber").val(); // 获取输入框中的值if (code == "") { // 如果为空,隐藏搜索框$("#ProjectNumberSearch").css("display", "none");return;} else {for (var i = 0; i < systemCode.length; i++) { // systemCode为待匹配的所有值for (var j = 0; j < systemCode[i].length; j++) {var pat = new RegExp(code, "i");if (pat.test(systemCode[i][j])) {// 如果匹配到,显示搜索框和内容$("#ProjectNumberSearch").css("display", "block");$("#ProjectNumberSearch").append("<p onclick='writeSystemCode(this)' ontouchstart='codeStart(this)' ontouchend()='codeEnd(this)' >" + systemCode[i][j] + "</p>");}}}}if ($("#ProjectNumberSearch").html() == "") { // 如果搜索框为空,隐藏$("#ProjectNumberSearch").css("display", "none");}});// 当点击的时候,将内容写入表单,隐藏框function writeSystemCode(p){$("#ProjectNumber").val(p.innerHTML);$("#ProjectNumberSearch").css("display", "none");$("#ProjectNumberSearch").html("");}// 开始触碰事件function codeStart(p){$(p).css("background", "rgba(245, 239, 242, 1)");}// 触碰结束事件function codeEnd(p) {$(p).css("background", "#fff");}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。