实时搜索功能
来源:互联网 发布:帝国cms tags调用 编辑:程序博客网 时间:2024/05/16 11:40
一、实现在输入框内输入值,进行实时搜索
<input type="text" id="keyword" oninput="searchinfo(this)" />
- oninput事件是IE之外的大多数浏览器支持的事件,在value改变时实时触发,但是通过js改变value时不会触发
- onpropertychange事件是任何属性改变都会触发,而oninput却只在value改变时触发,oninput要通过addEventListener()来注册,onpropertychange注册方法与一般事件相同;onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是IE专有。
- onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发
- oninput与onpropertychange失效的情况:
oninput事件:
(1)当脚本中改变value时,不会触发;
(2)从浏览器的自动下拉提示中选取时,不会触发;
onpropertychange事件:
当input设置为disable=true后,不会触发。
二、js方法进行关键字输入后相应结果显示
//引入文件 <script src="/static/jquery/jquery-1.11.1.min.js"></script> <link href="/static/materialize/css/materialize.min.css" rel="stylesheet"> <script src="/static/materialize/js/materialize.min.js"></script> //css <style> .display-none { display: none; } </style>
html代码
<div class="card gui-List list-unit" onclick=""> <div class="card-content black-text center-align"> <p>你哈</p> </div></div><div class="card gui-List list-unit" onclick=""> <div class="card-content black-text center-align"> <p>你好</p> </div></div>
js代码
<script> function searchinfo(e) { $(".list-unit").each(function () { var schoolName = this.children[0].children[0].innerHTML; if (schoolName.indexOf(e.value) < 0) { $(this).addClass("display-none"); } else { $(this).removeClass("display-none"); } }); }</script>
或
searchinfo()方法通过ajax重新请求获取满足关键字要求的相应数据,在js中通过拼接html代码显示出来(较麻烦)
三、完整代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>demo</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <script src="/static/jquery/jquery-1.11.1.min.js"></script> <link href="/static/materialize/css/materialize.min.css" rel="stylesheet"> <script src="/static/materialize/js/materialize.min.js"></script> <style> #search { background-color: #f9f9f9; margin-top: -1px; } .display-none { display: none; } </style></head><body><header> <div class="row navbar-fixed"> <div class="input-field col s12" id="search"> <i class="mdi-action-search prefix"></i> <input id="icon_prefix" type="text" class="validate" oninput="searchinfo(this)"/> <label for="icon_prefix">搜索你的学校</label> </div> </div></header><div id="list" class="container"> <div class="card gui-List list-unit" onclick=""> <div class="card-content black-text center-align"> <p>你哈</p> </div> </div> <div class="card gui-List list-unit" onclick=""> <div class="card-content black-text center-align"> <p>你好</p> </div> </div></div><script> $(document).ready(function () { $('#search').pushpin({top: $('#search').offset().top}); }); function searchinfo(e) { $(".list-unit").each(function () { var schoolName = this.children[0].children[0].innerHTML; if (schoolName.indexOf(e.value) < 0) { $(this).addClass("display-none"); } else { $(this).removeClass("display-none"); } }); }</script></body></html>
0 0
- 实时搜索功能
- 前端实时搜索功能
- jquery根据名称实时搜索匹配功能
- Android搜索实时显示功能实现
- 添加实时搜索功能,只使用mysql数据库
- 实时搜索
- 实时搜索
- EditText+RecycleView实现搜索功能之一:对EditText内容变化实时监听
- solr准实时搜索
- 【Lucene】近实时搜索
- Lucene近实时搜索
- 近实时搜索
- sphinx实时搜索代码
- Ajax实时搜索
- iOS 实时搜索总结
- SearchView本地实时搜索
- LuceneInAction-近实时搜索
- solr 近实时搜索
- Ubuntu 下Apache 域名绑定设置
- Linux目录结构和常用命令
- MySQL理解索引、添加索引的原则
- swift 中 UIColor 的一个简单扩展 UIColor+Extension
- C-F5. 按接口划分VLAN ❀ C3750-E ❀ 思科 (CISCO) 交换机
- 实时搜索功能
- 数据仓库(1)
- TensorFlow加载模型时出错
- Maven管理Spring+Mybatis的整合
- 九度OJ-1451:不容易系列之一
- eclipse中安装Python插件
- IEEE 802.1 AVB 相关协议简介
- 你在股市赚的是谁的钱
- jQuery选择器课堂随笔