如何更改selectize.js下拉列表的占位符?

fre*_*zer 8 javascript jquery dynamic placeholder selectize.js

当父下拉列表更改其选择以加载要更改其占位符的下拉列表的选项时,我想更改selectize.js创建的下拉列表的占位符.在文档中没有方法可以做到这一点.

小智 13

placeholder初始化时,可以将键指定为选项对象的一部分.我在文档中找不到该选项,只发现它在挖掘代码.

//init selectize
$(function() {
  $('select').selectize({
    placeholder: 'Click here to select ...',
  });
});
Run Code Online (Sandbox Code Playgroud)


Mik*_*iet 9

你需要两件事:

  • <option></option>在select中添加empty 作为第一个选项标记.
  • 添加placeholder密钥来selectize呼叫

  • 空的 &lt;option&gt;&lt;/option&gt; 似乎是必要的。谢谢你指出。 (2认同)

oas*_*ing 6

不确定选择是否继续改变他们的代码,或者如果这个帖子上的其他人都只是嗤之以鼻,但所有这些答案似乎都是错误的,但是如果你把每个答案中的正确部分结合起来,你最终会对我有用.

        var textHandler = function(name) {
        return function() {
            if(name == 'focus'){                    
                jQuery("select#myid + .selectize-control").find("input:text").prop({"placeholder": ""});
            }
        };
    };
    jQuery('#sf159_textsearchtextsearch').selectize({
        closeAfterSelect: true,
        hideSelected    : true,
        createOnBlur    : true,
        openOnFocus     : true,
        maxOptions      : 10,
        persist         : true,
        placeholder     : "Neighborhood, Street, School, Zip, MLS",
        plugins         : ['remove_button'],
        valueField      : 'id',
        labelField      : 'text',
        searchField     : 'value',
        options         : [],
        create          : false,
        render          : {
            option: function (item, escape) {
                //console.log(item);
                var address = '';
                var keyword = '';
                var tx = item.text.split(',');
                for (var i = 0, n = tx.length; i < n; i++) {                        
                    address += '<span class="span4">' + escape(tx[i]) + '</span>';                      
                }
                var template = '<div>' +
                        '<div class="row-fluid"> ' + address + ' </div>' +
                        '</div>';
                return template;
            }
        },
        load            : searchHandler,
        onKeydown       : keyHandler,
        onDelete        : deleteHandler,
        onFocus         : textHandler('focus'),
    });
Run Code Online (Sandbox Code Playgroud)