input动态模糊查询的实现方式

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

  1.jQuery的change()方法。jquery

   这个方法要失去所在的input框的焦点时,事件才会被触发,感受有点鸡肋,也有多是我没有彻底会熟用这个方法,但愿懂的大神能够分享一下使用秘籍。数据库

    

1 <input type="text" id="n3"/>
2 
3 
4 var $n3=$("#n3);//定位到input框
5 $n3.change(function(){
6     this.query_search($n3.val());//query_search为模糊查询的方法
7 })

 

 

 

 

    change()函数用于为每一个匹配元素的change事件绑定处理函数。该函数也可用于触发change事件。此外,你还能够额外传递给事件处理函数一些数据。change事件会在文本内容或选项被更改时触发。该事件仅适用于<input type="text">和<textarea>以及<select>。对于text和textarea元素,该事件会在元素失去焦点时发生(文本内容也发生了更改)。此外,你能够为同一元素屡次调用该函数,从而绑定多个事件处理函数。触发change事件时,jQuery会按照绑定的前后顺序依次执行绑定的事件处理函数。要删除经过change()绑定的事件,请使用unbind()函数(本段摘自http://www.365mini.com/page/jquery-change.htm)。缓存

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

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

    

1 <input type="text" id="#n3"/>
2 
3 var $n3=$("#n3");//定位到input框
4 $n3.keyup(function(){
5    this.query_search($n3.prop("value"));//query_search为模糊查询的方法 
6 })

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

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

    

 

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

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

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

      3.经过val()获取。这个感受和prop("value")差很少。

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

    以上这些都只是只是我的屡次测试得出的结论。并无什么权威的说法,若是有错误,但愿大神可以及时指正。

相关文章
相关标签/搜索