From 72a065d0b66c20972cec11bc67c6ca4a60289acf Mon Sep 17 00:00:00 2001 From: Andrey Lizunov Date: Tue, 14 Jun 2016 21:55:19 +0300 Subject: [PATCH] clearOptions: Don't remove already selected items --- CHANGELOG.md | 1 + src/selectize.js | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3b2a0d80..4cfbfa624 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +* Fixed bug making `clearOptions` function. Now it doesn't remove already selected options. (thanks @caseymct - #1079) * Fixed bug making `allowEmptyOption: true` useless (thanks @mcavalletto - #739) * Functions in option `render` can now return a DOM node in addition to text. (#617) diff --git a/src/selectize.js b/src/selectize.js index fac543c03..db25e58bb 100644 --- a/src/selectize.js +++ b/src/selectize.js @@ -1336,10 +1336,15 @@ $.extend(Selectize.prototype, { self.loadedSearches = {}; self.userOptions = {}; self.renderCache = {}; - self.options = self.sifter.items = {}; + var options = self.options; + $.each(self.options, function(key, value) { + if(self.items.indexOf(key) == -1) { + delete options[key]; + } + }); + self.options = self.sifter.items = options; self.lastQuery = null; self.trigger('option_clear'); - self.clear(); }, /**