Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/01/2011, 11:03
4ng3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Jquery: Autocomplete con multiples valores (casi aporte)

Mire este ejemplo usando JQuery UI http://jqueryui.com/demos/autocomplete/#multiple

Código HTML:
Ver original
  1. <meta charset="utf-8">
  2.     <script>
  3.     $(function() {
  4.         var availableTags = [
  5.             "ActionScript",
  6.             "AppleScript",
  7.             "Asp",
  8.             "BASIC",
  9.             "C",
  10.             "C++",
  11.             "Clojure",
  12.             "COBOL",
  13.             "ColdFusion",
  14.             "Erlang",
  15.             "Fortran",
  16.             "Groovy",
  17.             "Haskell",
  18.             "Java",
  19.             "JavaScript",
  20.             "Lisp",
  21.             "Perl",
  22.             "PHP",
  23.             "Python",
  24.             "Ruby",
  25.             "Scala",
  26.             "Scheme"
  27.         ];
  28.         function split( val ) {
  29.             return val.split( /,\s*/ );
  30.         }
  31.         function extractLast( term ) {
  32.             return split( term ).pop();
  33.         }
  34.  
  35.         $( "#tags" )
  36.             // don't navigate away from the field on tab when selecting an item
  37.             .bind( "keydown", function( event ) {
  38.                 if ( event.keyCode === $.ui.keyCode.TAB &&
  39.                         $( this ).data( "autocomplete" ).menu.active ) {
  40.                     event.preventDefault();
  41.                 }
  42.             })
  43.             .autocomplete({
  44.                 minLength: 0,
  45.                 source: function( request, response ) {
  46.                     // delegate back to autocomplete, but extract the last term
  47.                     response( $.ui.autocomplete.filter(
  48.                         availableTags, extractLast( request.term ) ) );
  49.                 },
  50.                 focus: function() {
  51.                     // prevent value inserted on focus
  52.                     return false;
  53.                 },
  54.                 select: function( event, ui ) {
  55.                     var terms = split( this.value );
  56.                     // remove the current input
  57.                     terms.pop();
  58.                     // add the selected item
  59.                     terms.push( ui.item.value );
  60.                     // add placeholder to get the comma-and-space at the end
  61.                     terms.push( "" );
  62.                     this.value = terms.join( ", " );
  63.                     return false;
  64.                 }
  65.             });
  66.     });
  67.     </script>
  68.  
  69.  
  70.  
  71. <div class="demo">
  72.  
  73. <div class="ui-widget">
  74.     <label for="tags">Tag programming languages: </label>
  75.     <input id="tags" size="50" />
  76. </div>
  77.  
  78. </div><!-- End demo -->
  79.  
  80.  
  81.  
  82. <div class="demo-description">
  83. <p>Usage: Type something, eg. "j" to see suggestions for tagging with programming languages. Select a value, then continue typing to add more.</p>
  84. <p>This is an example showing how to use the source-option along with some events to enable autocompleting multiple values into a single field.</p>
  85. </div><!-- End demo-description -->