JSON Based Autocomplete With Fuzzy Search - jQuery fuzzyComplete
File Size: | 40.7 KB |
---|---|
Views Total: | 8391 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

fuzzyComplete is a jQuery autocomplete plugin which displays a dropdown list populated with suggestions while typing in an input field, with support for the fuzzy search functionality based on the fuse.js library.
How to use it:
1. Insert the necessary jQuery and fuse.js JavaScript libraries into the page.
<script src="/path/to/cdn/jquery.slim.min.js"></script> <script src="/path/to/cdn/fuse.min.js"></script>
2. Download and insert the fuzzyComplete plugin's script after jQuery.
<script src="fuzzycomplete.min.js"></script>
3. Prepare your data for the suggestion list.
var companies = [ {"companyName":"Aperture Science"}, {"companyName":"MomCorp"}, {"companyName":"Wayne Enterprises"}, {"companyName":"Umbrella Corp"}, {"companyName":"Gringotts"}, {"companyName":"Globex"} ];
4. Enable the plugin on the target input field and done.
<input type="text" id="companyPicker" name="company">
$(document).ready(function(){ $("#companyPicker").fuzzyComplete(companies); });
5. The plugin also allows you to search multiple sets of data.
var airports = [ {"airportCode":"MEL","cityName":"Melbourne, Australia"}, {"airportCode":"LAX","cityName":"Los Angeles, USA"}, {"airportCode":"LHR","cityName":"Heathrow, London"}, {"airportCode":"HKG","cityName":"Hong Kong"}, {"airportCode":"NRT","cityName":"Narita, Tokyo, Japan"}, {"airportCode":"FRA","cityName":"Frankfurt, Germany"} ]; var fuseOptions = { keys: ["airportCode", "cityName"] }; var options = { display: "cityName", key: "airportCode", fuseOptions: fuseOptions }; $(document).ready(function(){ $("#airportPicker").fuzzyComplete(airports, options); }
6. All plugin's default options.
{ display: Object.keys(jsonData[0])[0], key: Object.keys(jsonData[0])[0], resultsLimit: 4, // max number of results allowFreeInput: false, fuseOptions:{ // fuse.js options } }
Changelog:
2020-09-19
- Forwards compatibility for newer Fuse.js
2020-04-18
- Bugfixed
2019-04-17
- Adding Customizable Resultsbox Rows & Customizable Display Results in Input Box
- Adding ability for fuzzy complete to accept dynamic results
- Added displayValue option and added to examples and README
- Adding extraData and allowFreeInput option
This awesome jQuery plugin is developed by aliask. For more Advanced Usages, please check the demo page or visit the official website.