Selectize.js活动 - 不会工作

时间:2014-12-19 15:46:54

标签: javascript jquery selectize.js

我需要一些selectize.js事件的帮助 - 他们不工作......

Inicialize selectize.js:

$("input[name='addTask[users]']").selectize({

    valueField: 'email',
    labelField: 'name',

    //... more options like render... 

});

设置活动:

$("input[name='addTask[users]']").selectize().on('type', function(){
    alert();
});

如果输入输入没有任何反应......

编辑:控制台没有错误,选择器很好,因为插件工作正常。

只有一件事对我有用 - “改变”。

这里是si文档:https://github.com/brianreavis/selectize.js/blob/master/docs/events.md (我也不明白“params” - 关于需求是什么以及他们做了什么)

任何提示,想法?请它让我高兴...


编辑:好的我知道了! SO - 解决方案:


在初始化selectize.js中:

$("input[name='addTask[users]']").selectize({

    valueField: 'email',
    labelField: 'name',

    onType : eventHandler('onType'), // <----- this added

    //... more options like render... 

});

并且在初始化之前:

var eventHandler = function(name) {
    return function() {
        alert(name + ' ' + arguments['0']);  // name of event + typed string
    };
};

如果您开始输入输入,则提醒工作:)

1 个答案:

答案 0 :(得分:5)

您的问题在这一行:

$("input[name='addTask[users]']").selectize().on('type', function(){
    alert();
});

你应该做的:

$("input[name='addTask[users]']")[0].selectize.on('type', function(){
    alert();
});

来自Docs:初始化控件时,&#34;选择&#34;属性添加在原始/元素上 - 此属性指向基础Selectize实例。

// initialize the selectize control
var $select = $('select').selectize(options);

// fetch the instance
var selectize = $select[0].selectize;

Event Docs: Selectize实例有一个模仿jQuery的基本事件发射器接口,Backbone.js等:

var handler = function() { /* ... */ };
selectize.on('event_name', handler);
selectize.off('event_name');
selectize.off('event_name', handler);