Check the API Docs
Methods addOption(data)
and setValue(value)
might be what you are looking for.
Update: Seeing the popularity of this answer, here is some additional info based on comments/requests...
setValue(value, silent)
? Resets the selected items to the given value.
? If "silent" is truthy (ie: true
, 1
), no change event will be fired on the original input.
addOption(data)
? Adds an available option, or array of options. If it already exists, nothing will happen.
? Note: this does not refresh the options list dropdown (use refreshOptions()
for that).
In response to options being overwritten:
This can happen by re-initializing the select without using the options you initially provided. If you are not intending to recreate the element, simply store the selectize object to a variable:
// 1. Only set the below variables once (ideally)
var $select = $('select').selectize(options); // This initializes the selectize control
var selectize = $select[0].selectize; // This stores the selectize object to a variable (with name 'selectize')
// 2. Access the selectize object with methods later, for ex:
selectize.addOption(data);
selectize.setValue('something', false);
// Side note:
// You can set a variable to the previous options with
var old_options = selectize.settings;
// If you intend on calling $('select').selectize(old_options) or something
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…