Jquery 如何限制selectize标记中的最小字符数

Jquery 如何限制selectize标记中的最小字符数,jquery,selectize.js,Jquery,Selectize.js,我想限制Selectize标签输入至少3个字符。可能吗?selectize中是否有任何事件 下载selectize.js插件 包括jquery和 使用此代码,它将工作 $(“#您的id”)。选择({ 最大项目:3 }); 我也有同样的问题。 正如Rory提到的,通过插件 其实很简单 标签最小字长过滤的官方示例 您可以做的另一件事是过滤搜索本身 //restricts the matches to fulfill MIN_SEARCH_LENGTH via the 'score' callback

我想限制Selectize标签输入至少3个字符。可能吗?selectize中是否有任何事件

  • 下载selectize.js插件

  • 包括jquery和

  • 使用此代码,它将工作

    $(“#您的id”)。选择({ 最大项目:3 });

    我也有同样的问题。 正如Rory提到的,通过插件

    其实很简单

    标签最小字长过滤的官方示例

    您可以做的另一件事是过滤搜索本身

    //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;
            }
        };
    },
    
    //通过“score”回调限制匹配以满足最小搜索长度
    //看https://github.com/brianreavis/selectize.js/blob/master/docs/usage.md#callbacks
    分数:函数scoreFilter(搜索){
    var ignore=search&&search.length

    希望有帮助:)

    这里有一个肮脏的变通方法,对我来说很有效,希望它能有所帮助

    var checkLength = function() {
        if (selectize.$control_input.val().length < 3) selectize.close()
    };
    
    selectize.on('dropdown_open', checkLength)
    
    var checkLength=function(){
    如果(selectize.$control\u input.val().length<3)selectize.close()
    };
    选择.on('dropdown\u open',checkLength)
    
    中有一个工作示例。请参阅“远程源代码-烂番茄”示例。我适应了这样的环境:

    load: function(query, callback) {
        if (!query || query.length < 3) return callback();  // <- this line
        $.ajax({ 
            // ajax options...
    
    load:函数(查询、回调){
    
    如果(!query | | query.length<3)返回回调();//似乎没有任何设置允许您修改此行为。但是,Rory有其他方法吗?一切都有可能。您可能需要创建自己的来实现它。字符,而不是项没有直接选择API。顺便问一下,为什么命名匿名函数?匿名函数没有名称。的onScore函数有一个名称(因此它不是匿名的)这有助于理解正在执行的操作。也许名称可能更准确,但当您进行调试时,您会在堆栈跟踪中看到名称,这比查看这么多匿名函数要好。哦……好吧……我从来没有这样做过,并且认为它不是很有用,对象键已经给出了足够的提示。这个解决方案可行吗it’很好,我也实施了。
    load: function(query, callback) {
        if (!query || query.length < 3) return callback();  // <- this line
        $.ajax({ 
            // ajax options...