【发布时间】:2019-10-20 02:17:10
【问题描述】:
我听说过 lib 调用 selectize。这听起来是一个很好的库,可以帮助我展示一些很棒的下拉效果。但是文档并不容易,我对如何正确实现选择一无所知。我尝试过使用它,直到使用或实现 ajax 都可以。有什么帮助吗?
由于某些原因,当我将 selectize 调用到特定的 selectclass 时,它会起作用。但是,当我需要告诉选择组件以发出 ajax 请求并搜索 JSON 文件以获取答案并构建下拉多选时,我遇到了严重的问题。
文档通过 github 示例提出了该模式:
$('#select-repo').selectize({
valueField: 'url',
labelField: 'name',
searchField: 'name',
create: false,
render: {
option: function(item, escape) {
return '<div>' +
'<span class="title">' +
'<span class="name"><i class="icon ' + (item.fork ? 'fork' : 'source')
+ '"></i>' + escape(item.name) + '</span>' +
'<span class="by">' + escape(item.username) + '</span>' +
'</span>' +
'<span class="description">' + escape(item.description) + '</span>' +
'<ul class="meta">' +
(item.language ? '<li class="language">' + escape(item.language) +
'</li>' : '') +
'<li class="watchers"><span>' + escape(item.watchers) + '</span>
watchers</li>' +
'<li class="forks"><span>' + escape(item.forks) + '</span> forks</li>'
+ '</ul>' +
'</div>';
}
},
score: function(search) {
var score = this.getScoreFunction(search);
return function(item) {
return score(item) * (1 + Math.min(item.watchers / 100, 1));
};
},
load: function(query, callback) {
if (!query.length) return callback();
$.ajax({
url: 'https://api.github.com/legacy/repos/search/' +
encodeURIComponent(query),
type: 'GET',
error: function() {
callback();
},
success: function(res) {
callback(res.repositories.slice(0, 10));
}
});
}
});
我尝试过没有任何成功,因为我真的不知道如何构建 JSON 文件,查询也是一个非常难的点。
实际结果是我需要了解在使用该库之前需要构建的步骤。然后一旦完成,我将使用带有 ajx 请求的库
【问题讨论】:
标签: javascript ruby-on-rails webpack ruby-on-rails-5 selectize.js