使用selectize.js插件, https://github.com/brianreavis/selectize.js/blob/master/docs/usage.md
每当我输入输入字段时,似乎都会对load()函数进行分析..
我只想在初始化期间加载一次...在这一小时内尝试弄清楚...我觉得它没有这样的功能,或者我错过了什么?< / p>
谢谢你们......
答案 0 :(得分:8)
要首次进行选择性输入加载,您可以进行以下操作:
$('#select').selectize({
preload: true, // make selectize load options after initialization
load: function(query,callback){
this.settings.load = null; // prevent selectize from loading when typing
// also instead of this you can
// override this.onSearchChange = function noop(){};
$.ajax({...}).then(function(response){
callback(response);
},function(){
callback();
})
}
});
答案 1 :(得分:2)
我无法解决这个问题。文档分为用法和API。
selectize.js的加载选项用于查询/响应服务,该服务将根据查询返回可用数据的子集。每次查询更改时都会触发它。
当然,如果您的数据源不接受查询参数,则不需要这样做。在这种情况下,一次性数据加载就足够了。
根据API,您可以获取选择实例并在其上调用多种方法,包括加载。
<script>
var $select = $('#select').selectize({
valueField: 'value',
labelField: 'label',
searchField: ['label']
});
var selectize = $select[0].selectize;
selectize.load(function (callback) {
$.ajax({
url: 'http://localhost:64596/api/things',
type: 'GET',
error: function (e) {
console.error(e.responseText);
callback();
},
success: function (data) {
callback(data);
}
});
});
</script>