diff --git a/R/update-input.R b/R/update-input.R index 29d15452b..64a898fdb 100644 --- a/R/update-input.R +++ b/R/update-input.R @@ -481,7 +481,7 @@ selectizeJSON <- function(data, req) { idx <- idx | apply(matches, 1, cjn) } # only return the first n rows (n = maximum options in configuration) - idx <- head(which(idx), mop) + idx <- head(if (length(key)) which(idx) else seq_along(idx), mop) data <- data[idx, ] res <- toJSON(columnToRowData(data)) diff --git a/srcjs/input_binding_select.js b/srcjs/input_binding_select.js index a1fa3dad5..7dc010cb4 100644 --- a/srcjs/input_binding_select.js +++ b/srcjs/input_binding_select.js @@ -56,7 +56,6 @@ $.extend(selectInputBinding, { selectize = this._selectize(el); selectize.clearOptions(); selectize.settings.load = function(query, callback) { - if (!query.length) return callback(); var settings = selectize.settings; $.ajax({ url: data.url, @@ -75,6 +74,10 @@ $.extend(selectInputBinding, { } }); }; + // perform an empty search after changing the `load` function + selectize.load(function(callback) { + selectize.settings.load.apply(selectize, ['', callback]); + }); if (data.hasOwnProperty('selected')) selectize.addOption(data.selected); }