532 votes

jQuery autocomplete tagging plug-in comme les balises d'entrée de StackOverflow?

Quelles solutions accomplissent le même auto-complétion que SO utilise pour entrer des tags?

Il y a des plugins qui peuvent gérer un mot mais je n'en ai vu aucun qui gère plusieurs mots.

En outre, devrais-je lier directement au code hébergé de Google pour jQuery?

776voto

63voto

Nishant Points 22758

Bootstrap: Si vous êtes en utilisant Bootstrap. C'est une très bonne: Select2

Aussi, TokenInput est intéressant. Tout d'abord, il ne dépend pas de jQuery-UI, deuxième de sa config est très lisse.

Le seul problème que j'ai eu, il ne prend pas en charge le marquage en mode natif. Donc, j'ai du renvoyer la chaîne de la requête de retour au client une partie de la réponse JSON.

11voto

Hailwood Points 14342

Jetez un coup d'œil à mon nouveau plugin créé par jquery-ui, il prend en charge l'automate automatiquement jquery, et les tags peuvent être composés de plusieurs mots.

Jquery tagging plugin avec auto complète

8voto

Julian Points 1441

Pour répondre à la question sur Google. Je suis passé à l'accès à JQuery via http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js dans mes sites.

Comme plus de gens font cela, cela signifie qu'il est plus susceptible d'être mis en cache sur les machines de l'utilisateur, donc mon vote va de bonne idée.

5voto

Chris Ballance Points 17329

Les exemples ici prennent en charge la saisie semi-automatique de plusieurs mots avec jQuery

Le code démo d'ajaxdaddy.com, voir la démo en direct sur leur site

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<base href="http://www.ajaxdaddy.com/media/demos/play/1/jquery-autocomplete/autocomplete/" />

    <title>j</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="javascript/jquery.js"></script>
  <script type="text/javascript" src="javascript/jquery.autocomplete.js"></script>
    <link rel="stylesheet" href="css/jquery.autocomplete.css" type="text/css" />

</head>
<body>

<form onsubmit="return false;" action="">
    <p>
        Ajax City Autocomplete: (try a few examples like: 'Little Grebe', 'Black-crowned Night Heron', 'Kentish Plover')<br />
        <input type="text" style="width: 200px;" value="" id="CityAjax" class="ac_input"/>
        <input type="button" onclick="lookupAjax();" value="Get Value"/>
    </p>
</form>

<script type="text/javascript">
  function findValue(li) {
    if( li == null ) return alert("No match!");

    // if coming from an AJAX call, let's use the CityId as the value
    if( !!li.extra ) var sValue = li.extra[0];

    // otherwise, let's just display the value in the text box
    else var sValue = li.selectValue;

    //alert("The value you selected was: " + sValue);
  }

  function selectItem(li) {
        findValue(li);
  }

  function formatItem(row) {
        return row[0] + " (id: " + row[1] + ")";
  }

  function lookupAjax(){
    var oSuggest = $("#CityAjax")[0].autocompleter;
    oSuggest.findValue();
    return false;
  }

  function lookupLocal(){
        var oSuggest = $("#CityLocal")[0].autocompleter;

        oSuggest.findValue();

        return false;
  }


    $("#CityAjax").autocomplete(
      "autocomplete.php",
      {
            delay:10,
            minChars:2,
            matchSubset:1,
            matchContains:1,
            cacheLength:10,
            onItemSelect:selectItem,
            onFindValue:findValue,
            formatItem:formatItem,
            autoFill:true
        }
    );

</script>
</body>
</html>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X