|
1 |
| -/*! jquery-cascading-dropdown 1.2.8 | (c) 2019 Dzulqarnain Nasir <[email protected]> | MIT */ |
| 1 | +/*! jquery-cascading-dropdown 1.2.9 | (c) 2019 Dzulqarnain Nasir <[email protected]> | MIT */ |
2 | 2 | (function ($, undefined) {
|
3 | 3 | 'use strict';
|
4 | 4 |
|
|
214 | 214 |
|
215 | 215 | var selected = [];
|
216 | 216 |
|
217 |
| - // Add all items as dropdown item |
218 |
| - var getOption = function(item) { |
219 |
| - var selectedAttr = ''; |
220 |
| - if(item.selected) { |
221 |
| - selected.push(item.value.toString()); |
222 |
| - } |
223 |
| - |
224 |
| - return '<option value="' + item.value + '"' + selectedAttr + '>' + item.label + '</option>'; |
225 |
| - }; |
226 |
| - |
227 | 217 | if ($.isArray(items)) {
|
228 | 218 | $.each(items, function(index, item) {
|
229 |
| - self.el.append(getOption(item)); |
| 219 | + self.el.append(self._renderItem(item)); |
| 220 | + if (item.selected) selected.push(item.value.toString()); |
230 | 221 | });
|
231 | 222 | } else {
|
232 | 223 | $.each(items, function(key, value) {
|
233 | 224 | var itemData = [];
|
234 | 225 | itemData.push('<optgroup label="' + key + '">');
|
235 | 226 | for (var i = 0; i < value.length; i++) {
|
236 | 227 | var item = value[i];
|
237 |
| - itemData.push(getOption(item)); |
| 228 | + itemData.push(self._renderItem(item)); |
| 229 | + if (item.selected) selected.push(item.value.toString()); |
238 | 230 | }
|
239 | 231 | itemData.push('</optgroup>');
|
240 | 232 | self.el.append(itemData.join(''));
|
|
250 | 242 | self._triggerReady();
|
251 | 243 | },
|
252 | 244 |
|
| 245 | + _renderItem: function(item) { |
| 246 | + return '<option value="' + item.value + '"' + (item.selected ? ' selected' : '') + '>' + item.label + '</option>'; |
| 247 | + }, |
| 248 | + |
253 | 249 | // Trigger the ready event when instance is initialised for the first time
|
254 | 250 | _triggerReady: function() {
|
255 | 251 | if(this.initialised) return;
|
|
0 commit comments