Mysql
 sql >> Base de données >  >> RDS >> Mysql

Saisie automatique multiple séparée par des virgules dans un champ

Au fur et à mesure que je lisais et cherchais plus, j'ai trouvé du code de saisie semi-automatique à distance multiple sur le site Web jquery ui. C'est drôle comme vous pouvez rechercher et lire pendant longtemps sans tomber sur des informations utiles évidentes.

site Web jquery ui .. http://jqueryui.com/autocomplete/#multiple-remote

J'ai utilisé l'exemple de code ci-dessous et je l'ai modifié pour l'adapter à mon application.

Cela fonctionne maintenant et a résolu mon problème dans mon application.

$(function() {
function split( val ) {
  return val.split( /,\s*/ );
}
function extractLast( term ) {
  return split( term ).pop();
}

$( "#birds" )
  // don't navigate away from the field on tab when selecting an item
  .bind( "keydown", function( event ) {
    if ( event.keyCode === $.ui.keyCode.TAB &&
        $( this ).data( "ui-autocomplete" ).menu.active ) {
      event.preventDefault();
    }
  })
  .autocomplete({
    source: function( request, response ) {
      $.getJSON( "search.php", {
        term: extractLast( request.term )
      }, response );
    },
    search: function() {
      // custom minLength
      var term = extractLast( this.value );
      if ( term.length < 2 ) {
        return false;
      }
    },
    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;
    }
  });
});