我想限制Selectize标签输入的最少3个字符。可能吗?选择中是否有任何事件?
答案 0 :(得分:6)
我遇到了同样的问题。 正如Rory通过插件所提到的那样。
实际上很简单。
标记最小字长过滤的官方示例,您可以找到here
$('#select-words-length').selectize({
create: true,
createFilter: function(input) { return input.length >= MIN_LENGTH; }
});
您可以做的另一件事是过滤搜索本身
//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;
}
};
},
希望有所帮助:)
答案 1 :(得分:1)
the docs中有一个有效的示例。请参见“远程源-烂番茄”示例。我适应了这样的东西:
load: function(query, callback) {
if (!query || query.length < 3) return callback(); // <- this line
$.ajax({
// ajax options...
答案 2 :(得分:0)
这是一个对我有用的肮脏解决方法,希望对您有用。
var checkLength = function() {
if (selectize.$control_input.val().length < 3) selectize.close()
};
selectize.on('dropdown_open', checkLength)
答案 3 :(得分:-7)
下载selectize.js插件
包括jquery和
使用此代码,它会起作用。
$(&#39;#您-ID&#39)。selectize({ maxItems:3 });