selectize.js - 如何在load()期间引用select元素的某些属性?

mik*_*ana 6 javascript selectize.js

我正在使用selectize.js:

  • 我有一些类似的选择框
  • 在期间,选项是从服务器动态加载的 load()
  • 在此期间进行的查询.load()对每个选择框都是唯一的.例如,我想 .load()根据选择框的某些属性点击不同的URL(例如,data-someproperty).

我怎样才能做到这一点?现在的代码几乎与Selectize文档中Remote Source示例相同.

$('.select-repo').selectize({
    valueField: 'url',
    labelField: 'name',
    searchField: 'name',
    create: false,
    ...
    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));
            }
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

我尝试this在.load()期间检出,但我看不到任何对原始元素的引用.

mik*_*ana 10

找到了:

内部加载(),访问:

this.$input
Run Code Online (Sandbox Code Playgroud)

使用<select>元素获取JQuery选择.

this.$input.data('whatever')
Run Code Online (Sandbox Code Playgroud)

data-whatever从... 返回select