基于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 相关文章推荐
关于IE BUG与字符串截取substr的解决办法
Apr 10 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
JavaScript中的parse()方法使用简介
Jun 12 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
Mar 28 Javascript
Bootstrap实现下拉菜单效果
Apr 29 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
Jan 16 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 Javascript
js时间戳与日期格式之间相互转换
Dec 11 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 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代码保护--Zend Guard的使用详解
2013/06/03 PHP
php 数组元素快速去重
2017/05/05 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
JQuery选择器特辑 详细小结
2012/05/14 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
js实现打字小游戏
2019/12/17 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
Python 获取当前所在目录的方法详解
2017/08/02 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
详解爬虫被封的问题
2019/04/23 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
购买大码女装:Lane Bryant
2016/09/07 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
经销商订货会主持词
2014/03/27 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
水污染治理工程专业自荐信
2014/06/21 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL