Guest User

Untitled

a guest
Aug 20th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. How to filter your jquery autocomplete data while typing
  2. var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];
  3.  
  4. $('#my-input').autocomplete({
  5. source:aCleanData,
  6. minLength:2
  7. });
  8.  
  9. var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];
  10. $('#my-input').autocomplete({
  11. source: aCleanData,
  12. minLength: 2,
  13. search: function(oEvent, oUi) {
  14. // get current input value
  15. var sValue = $(oEvent.target).val();
  16. // init new search array
  17. var aSearch = [];
  18. // for each element in the main array ...
  19. $(aCleanData).each(function(iIndex, sElement) {
  20. // ... if element starts with input value ...
  21. if (sElement.substr(0, sValue.length) == sValue) {
  22. // ... add element
  23. aSearch.push(sElement);
  24. }
  25. });
  26. // change search array
  27. $(this).autocomplete('option', 'source', aSearch);
  28. }
  29. });
  30.  
  31. $.ui.autocomplete.escapeRegex=function(){
  32. return '[^|s]' + $value.replace(/[-[]{}()*+?.,\^$|#s]/g, "\$&");
  33. };
  34.  
  35. $.extend( $.ui.autocomplete, {
  36. escapeRegex: function( value ) {
  37. return value.replace(/[-[]{}()*+?.,\^$|#s]/g, "\$&");
  38. },
  39. filter: function(array, term) {
  40. var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
  41. return $.grep( array, function(value) {
  42. return matcher.test( value.label || value.value || value );
  43. });
  44. }
  45. });
Add Comment
Please, Sign In to add comment