以编程方式添加项目以输入

daG*_*vis 10 javascript jquery tagging selectize.js

Selectize.js允许使用标记,自动完成等将输入转换为小部件.我正在尝试使用代码将标记添加到输入中.

这是我到目前为止所拥有的.

$(function() {
    $("#tags").selectize({
        create: true
    })

    var selectize_tags = $("#tags")[0].selectize
    selectize_tags.createItem("foo")
    selectize_tags.refreshItems()
})
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/qDL37/

不幸的是,"foobar"没有添加到输入框中.据我所知,这是正确的方法.

这可能是selectize.js中的错误吗?我试图搜索GitHub问题,但找不到那样的东西.

我也尝试阅读selectize.js的代码,但没有运气.

daG*_*vis 21

感谢来自#javascript @freenode的优秀人才,这是正确的方法.

$(function() {
    $("#tags").selectize({
        create: true
    })

    var selectize_tags = $("#tags")[0].selectize
    selectize_tags.addOption({
        text:'Foo',
        value: 'foo'
    });
    selectize_tags.addItem('foo')
    // selectize_tags.refreshItems()
})
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/qDL37/1/

  • @Fabrizio我的猜测是将`text`和`value`键更改为你指定的值[对于`labelField`和`valueField`](https://github.com/brianreavis/selectize.js/blob/master/文档/ usage.md#data_searching). (3认同)