jquery-ui - theme - npm jquery ui




La limite entraîne la saisie semi-automatique de l'interface utilisateur jQuery (9)

Ajoutant à la réponse d' Andrew , vous pouvez même introduire une propriété maxResults et l'utiliser de cette façon:

$("#auto").autocomplete({ 
    maxResults: 10,
    source: function(request, response) {
        var results = $.ui.autocomplete.filter(src, request.term);
        response(results.slice(0, this.options.maxResults));
    }
});

jsFiddle: http://jsfiddle.net/vqwBP/877/

Cela devrait aider à la lisibilité du code et à la maintenabilité!

J'utilise jQuery UI Autocomplete.

 $("#task").autocomplete({
     max:10,
     minLength:3,
     source: myarray
 });          

Le paramètre max ne fonctionne pas et j'ai toujours plus de 10 résultats. Est-ce que je manque quelque chose?


Dans mon cas cela fonctionne bien:

source:function(request, response){
    var numSumResult = 0;
    response(
        $.map(tblData, function(rowData) {
            if (numSumResult < 10) {
                numSumResult ++;
                return {
                    label:          rowData.label,
                    value:          rowData.value,
                }
            }
        })
    );
},


J'ai essayé toutes les solutions ci-dessus, mais la mienne n'a fonctionné que de cette manière:

success: function (data) {
    response($.map(data.slice (0,10), function(item) {
    return {
    value: item.nome
    };
    }));
},

Je pourrais résoudre ce problème en ajoutant le contenu suivant à mon fichier CSS:

.ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
}

Plugin: jquery-ui-autocomplete-scroll avec scroller et les résultats de limite sont beaux

$('#task').autocomplete({
  maxShowItems: 5,
  source: myarray
});

Voici la documentation appropriée pour le widget jQueryUI . Il n'y a pas de paramètre intégré pour limiter les résultats max, mais vous pouvez l'accomplir facilement:

$("#auto").autocomplete({
    source: function(request, response) {
        var results = $.ui.autocomplete.filter(myarray, request.term);

        response(results.slice(0, 10));
    }
});

Vous pouvez fournir une fonction au paramètre source , puis appeler slice sur le tableau filtré.

Voici un exemple de travail: http://jsfiddle.net/andrewwhitaker/vqwBP/


Vous pouvez définir l'option minlength à une grande valeur ou vous pouvez le faire par css comme ceci,

.ui-autocomplete { height: 200px; overflow-y: scroll; overflow-x: hidden;}

voici ce que j'ai utilisé

.ui-autocomplete { max-height: 200px; overflow-y: auto; overflow-x: hidden;}

Le débordement automatique de sorte que la barre de défilement ne s'affiche pas quand ce n'est pas censé.







jquery-ui-autocomplete