Home  >  Article  >  Web Front-end  >  How to implement dynamic fuzzy query in input

How to implement dynamic fuzzy query in input

亚连
亚连Original
2018-06-21 14:26:592750browse

The editor below will share with you an implementation method based on input dynamic fuzzy query. It has a good reference value and I hope it will be helpful to everyone. Let’s follow the editor and take a look.

When I used jQuery to implement dynamic fuzzy query recently, I searched for a long time but could not find a dynamic fuzzy query method as easy to use as the watch attribute of Vue.js. Let me share the pitfalls encountered so far and several ways to implement dynamic query.

1.jQuery’s change() method.

This method will only trigger the event when the focus of the input box is lost. It feels a bit useless. It may also be that I am not fully familiar with this method. I hope someone understands it. Can you share some tips on how to use it?

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


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

The change() function is used to bind a handler function to the change event of each matching element. This function can also be used to trigger change events. Additionally, you can pass additional data to the event handler. The change event is triggered when the text content or options are changed. This event only applies to 23efcc05e98690ceeb219581933e4231 and 4750256ae76b6b9d804861d8f69e79d3 and 221f08282418e2996498697df914ce4e. For text and textarea elements, this event occurs when the element loses focus (the text content also changes). Additionally, you can bind multiple event handlers by calling this function multiple times for the same element. When the change event is triggered, jQuery will execute the bound event processing functions in the order of binding. To remove an event bound via change(), use the unbind() function.

2. Monitor JQuery's keyup or keydown event

This method can monitor the trigger event of each key and bind the fuzzy query method to Targeting the response event, each click will trigger a fuzzy query event, but this will greatly increase the pressure on the database. If there are many people operating and there is no cache, the database will explode in minutes.

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

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

3. Use the watch attribute observer method of Vue.js.

This method can dynamically observe the changes in attributes in the input box. As long as the value of the input box changes, the corresponding method will be called dynamically.

##Worth it in the end What I said is that there are three ways to get the value in the input text box.

1. Get it through attr("value"). This method can only obtain the default one. In other words, the value originally defined in your CSS code will be the same value when the page is displayed for the first time, and this value will not change.

2. Obtain through prop("value"). This method can get the default value, as well as the changed or value, as long as you change it, you can get it.

3. Obtain through val(). This feels similar to prop("value").

4. You can also use Vue.js's v-model binding to get it, so that's 4 methods.

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

About null and false values ​​in JavaScript

BUGs encountered in JavaScript

How to implement page jump and value transfer in WeChat mini program

How to manage CSS and other resources in webpack and SPA

How to transfer data to template in WeChat applet

The above is the detailed content of How to implement dynamic fuzzy query in input. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn