基于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 相关文章推荐
javaScript Array(数组)相关方法简述
Jul 25 Javascript
关于JavaScript定义类和对象的几种方式
Nov 09 Javascript
js如何设置在iframe框架中指定div不显示
Dec 04 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
angularjs之$timeout指令详解
Jun 13 Javascript
基于react组件之间的参数传递(详解)
Sep 05 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
Jul 31 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
详解vue 组件注册
Nov 20 Vue.js
详解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实现的多彩标签效果代码分享
2014/08/21 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
详解在Python中处理异常的教程
2015/05/24 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python上下文管理器和with块详解
2017/09/09 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
python标识符命名规范原理解析
2020/01/10 Python
关于python 跨域处理方式详解
2020/03/28 Python
使用CSS3制作饼状旋转载入效果的实例
2015/06/23 HTML / CSS
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
英国标准协会商店:BSI Shop
2019/02/25 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
超市七夕促销活动方案
2014/08/28 职场文书
初中英语教学反思范文
2016/02/15 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
Window server中安装Redis的超详细教程
2021/11/17 Redis