基于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 相关文章推荐
编写自己的jQuery插件简单实现代码
Apr 19 Javascript
javascript中HTMLDOM操作详解
Dec 11 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
JS读写CSS样式的方法汇总
Aug 16 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
Aug 04 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 Javascript
JS实现简易留言板(节点操作)
Mar 16 Javascript
基于javascript的无缝滚动动画实现2
Aug 07 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字符串截取问题
2006/11/28 PHP
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
PHP 存储文本换行实现方法
2010/01/05 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
Python设计模式之代理模式实例
2014/04/26 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
python爬取网页转换为PDF文件
2018/06/07 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python能做什么 python的含义
2019/10/12 Python
基于opencv实现简单画板功能
2020/08/02 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
电子技术专业中专生的自我评价
2013/12/17 职场文书
给女朋友的道歉信
2014/01/10 职场文书
师德演讲稿范文
2014/05/06 职场文书
安全生产标语
2014/06/06 职场文书
2014年统计工作总结
2014/11/21 职场文书
Python绘制散乱的点构成的图的方法
2022/04/21 Python