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

时间:2014-01-17 15:24:04

标签: javascript selectize.js

我正在使用selectize.js:

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

我该怎么做?现在的代码几乎与Remote Source example from the Selectize docs相同。

$('.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));
            }
        });
    }
});

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

1 个答案:

答案 0 :(得分:10)

找到它:

内部加载(),访问:

this.$input

使用<select>元素获取JQuery选项。

this.$input.data('whatever')

将从data-whatever

返回select