How to limit minimum character in selectize tags

2019-04-28 23:03发布

I want to limit minimum 3 characters for Selectize tags input. Is it possible? is there any event in selectize?

4条回答
地球回转人心会变
2楼-- · 2019-04-28 23:41

Here is a dirty workaround that works for me, hope it helps.

var checkLength = function() {
    if (selectize.$control_input.val().length < 3) selectize.close()
};

selectize.on('dropdown_open', checkLength)
查看更多
成全新的幸福
3楼-- · 2019-04-28 23:42
  1. Download selectize.js plugin

  2. Include jquery and

Use this code, It will work.

$('#your-id').selectize({ maxItems: 3 });

查看更多
Evening l夕情丶
4楼-- · 2019-04-28 23:51

I had the same problem. Its as Rory has mentioned, via plugins.

Its actually quite simple.

The official example for tag minimum word length filtering you can find here

$('#select-words-length').selectize({
    create: true,
    createFilter: function(input) { return input.length >= MIN_LENGTH; }
});

Another thing that you can do is filter the search itself

//restricts the matches to fulfill MIN_SEARCH_LENGTH via the 'score' callback
//see https://github.com/brianreavis/selectize.js/blob/master/docs/usage.md#callbacks
score: function scoreFilter(search) {
    var ignore = search && search.length < MIN_SEARCH_LENGTH;
    var score = this.getScoreFunction(search);
    //the "search" argument is a Search object (see https://github.com/brianreavis/selectize.js/blob/master/docs/usage.md#search).
    return function onScore(item) {
        if (ignore) {
            //If 0, the option is declared not a match.
            return 0;
        } else {
            var result = score(item);
            return result;
        }
    };
},

Hope that helps :)

查看更多
【Aperson】
5楼-- · 2019-04-29 00:03

There is a working example in the docs. See the "Remote Source — Rotten Tomatoes" example. I adapted to something like this:

load: function(query, callback) {
    if (!query || query.length < 3) return callback();  // <- this line
    $.ajax({ 
        // ajax options...
查看更多
登录 后发表回答