Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Autocomplete textarea with multiple values

Is there any code example how to make an autocomplete textarea that allow user to type multiple values. Suggestions to autocompletelist must come from ldap. I use Spring framework.

like image 797
Mau Avatar asked Oct 20 '25 07:10

Mau


2 Answers

You can try these Jquery plugins for this

At.js plugin

OR

Jquery-Textcomplete

OR

Bootstrap-Tag-Autocomplete

like image 92
shinesecret Avatar answered Oct 22 '25 20:10

shinesecret


<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Multiple values</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
var availableTags = [
  "ActionScript",
  "AppleScript",
  "Asp",
  "BASIC",
  "C",
  "C++",
  "Clojure",
  "COBOL",
  "ColdFusion",
  "Erlang",
  "Fortran",
  "Groovy",
  "Haskell",
  "Java",
  "JavaScript",
  "Lisp",
  "Perl",
  "PHP",
  "Python",
  "Ruby",
  "Scala",
  "Scheme"
];
function split( val ) {
  return val.split( /,\s*/ );
}
function extractLast( term ) {
  return split( term ).pop();
}

$( "#tags" )
  // don't navigate away from the field on tab when selecting an item
  .bind( "keydown", function( event ) {
    if ( event.keyCode === $.ui.keyCode.TAB &&
        $( this ).autocomplete( "instance" ).menu.active ) {
      event.preventDefault();
    }
  })
  .autocomplete({
    minLength: 0,
    source: function( request, response ) {
      // delegate back to autocomplete, but extract the last term
      response( $.ui.autocomplete.filter(
        availableTags, extractLast( request.term ) ) );
    },
    focus: function() {
      // prevent value inserted on focus
      return false;
    },
    select: function( event, ui ) {
      var terms = split( this.value );
      // remove the current input
      terms.pop();
      // add the selected item
      terms.push( ui.item.value );
      // add placeholder to get the comma-and-space at the end
      terms.push( "" );
      this.value = terms.join( ", " );
      return false;
    }
    });
   });
 </script>
</head>
<body>

<div class="ui-widget">
<label for="tags">Tag programming languages: </label>
<textarea id="tags"><textarea>
</div>


</body>
</html>

Visit this link for more detail I used textarea instead of input field. https://jqueryui.com/autocomplete/#multiple

like image 40
Muddasir Abbas Avatar answered Oct 22 '25 21:10

Muddasir Abbas



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!