基于input动态模糊查询的实现方法


Posted in Javascript onDecember 12, 2017

最近在用jQuery实现动态模糊查询的时候,找了挺久都没有找到像Vue.js的watch属性这么好用的动态模糊查询方法。就分享一下目前遇到的坑和可以实现动态查询的几种方式。

1.jQuery的change()方法。

这个方法要失去所在的input框的焦点时,事件才会被触发,感觉有点鸡肋,也有可能是我没有完全会熟用这个方法,希望懂的大神可以分享一下使用秘籍。

<input type="text" id="n3"/>


var $n3=$("#n3);//定位到input框
$n3.change(function(){
 this.query_search($n3.val());//query_search为模糊查询的方法
})

change()函数用于为每个匹配元素的change事件绑定处理函数。该函数也可用于触发change事件。此外,你还可以额外传递给事件处理函数一些数据。change事件会在文本内容或选项被更改时触发。该事件仅适用于<input type="text">和<textarea>以及<select>。对于text和textarea元素,该事件会在元素失去焦点时发生(文本内容也发生了更改)。此外,你可以为同一元素多次调用该函数,从而绑定多个事件处理函数。触发change事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。要删除通过change()绑定的事件,请使用unbind()函数。

2.监听JQuery的keyup或者keydown事件

这个方法可以监听每个按键的触发事件,可以把模糊查询方法绑定到响应的事件上,每按一次就会触发一次模糊查询的事件,但是这样做会大大增加数据库的压力,如果人多操作而且没有缓存的话,数据库会分分钟炸掉。

<input type="text" id="#n3"/>

var $n3=$("#n3");//定位到input框
$n3.keyup(function(){
 this.query_search($n3.prop("value"));//query_search为模糊查询的方法 
})

3.使用Vue.js的watch属性观察者方法。

这个方法可以动态观察input框里面的属性变化情况,只要input框的value值发生变化,就会动态调用响应的方法。

基于input动态模糊查询的实现方法

基于input动态模糊查询的实现方法

基于input动态模糊查询的实现方法

基于input动态模糊查询的实现方法

最后值得一说的是,获取input的text框里面的value值有三种方法.

1.通过attr("value")获取。这种方法获取只能获取默认的。也就是说,你css代码里面原先定义的value值是多少,页面第一次展现的也是多少,而且这个值不会变。

2.通过prop("value")获取。这种方法能获取默认的,也能获取改变或的值,只要你改变了就能获取到。

3.通过val()获取。这个感觉和prop("value")差不多。

4.也可以用Vue.js的v-model绑定获取到,那就算是4种方法吧。

以上这些都只是只是个人多次测试得出的结论。并没有什么权威的说法,如果有错误,希望大神能够及时指正。

Javascript 相关文章推荐
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
javascript异步编程的4种方法
Feb 19 Javascript
jQuery验证元素是否为空的两种常用方法
Mar 17 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
javascript 判断页面访问方式电脑或者移动端
Sep 19 Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 Javascript
微信小程序用户信息encryptedData详解
Aug 24 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
微信小程序带动画弹窗组件使用方法详解
Nov 27 Javascript
详解JavaScript中的执行上下文及调用堆栈
Apr 29 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
关于JavaScript 中 if包含逗号表达式
Nov 27 Javascript
详解vue.js之props传递参数
Dec 12 #Javascript
react实现菜单权限控制的方法
Dec 11 #Javascript
Angular 作用域scope的具体使用
Dec 11 #Javascript
angularjs实现柱状图动态加载的示例
Dec 11 #Javascript
Vue响应式原理深入解析及注意事项
Dec 11 #Javascript
js时间戳与日期格式之间转换详解
Dec 11 #Javascript
js时间戳与日期格式之间相互转换
Dec 11 #Javascript
You might like
php中JSON的使用与转换
2015/01/14 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
python中二维阵列的变换实例
2014/10/09 Python
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
康拓普公司Java笔面试
2016/09/23 面试题
求职意向书范文
2014/04/01 职场文书
个人投资计划书
2014/05/01 职场文书
儿童生日会策划方案
2014/05/15 职场文书
模具专业自荐信
2014/05/29 职场文书
激励口号大全
2014/06/17 职场文书
加强作风建设工作总结
2014/10/23 职场文书
六年级作文之家庭作文
2019/12/12 职场文书