|
113 | 113 | validationPattern: null, |
114 | 114 | width: 'auto', |
115 | 115 | height: 'auto', |
116 | | - autocomplete: {selectFirst: false}, |
117 | | - autocomplete_url: null, |
| 116 | + autocomplete: null, |
118 | 117 | hide: true, |
119 | 118 | delimiter: ',', |
120 | 119 | unique: true, |
|
190 | 189 | $(data.holder).removeClass('focus'); |
191 | 190 | }); |
192 | 191 |
|
193 | | - if (settings.autocomplete_url !== null) { |
194 | | - var autocomplete_options = {source: settings.autocomplete_url}; |
195 | | - |
196 | | - for (attrname in settings.autocomplete) { |
197 | | - autocomplete_options[attrname] = settings.autocomplete[attrname]; |
198 | | - } |
199 | | - |
200 | | - if (jQuery.Autocompleter !== undefined) { |
201 | | - $(data.fake_input).autocomplete(settings.autocomplete_url, settings.autocomplete); |
202 | | - $(data.fake_input).on('result', data, function(event, data, formatted) { |
203 | | - if (data) { |
204 | | - $('#' + id).addTag(data[0] + "", { |
205 | | - focus: true, |
206 | | - unique: settings.unique, |
207 | | - minChars: settings.minChars, |
208 | | - maxChars: settings.maxChars, |
209 | | - limit: settings.limit, |
210 | | - validationPattern: settings.validationPattern |
211 | | - }); |
212 | | - } |
213 | | - }); |
214 | | - } else if (jQuery.ui.autocomplete !== undefined) { |
215 | | - $(data.fake_input).autocomplete(autocomplete_options); |
216 | | - $(data.fake_input).on('autocompleteselect', data, function(event, ui) { |
217 | | - $(event.data.real_input).addTag(ui.item.value, { |
218 | | - focus: true, |
219 | | - unique: settings.unique, |
220 | | - minChars: settings.minChars, |
221 | | - maxChars: settings.maxChars, |
222 | | - limit: settings.limit, |
223 | | - validationPattern: settings.validationPattern |
224 | | - }); |
225 | | - |
226 | | - return false; |
| 192 | + if (settings.autocomplete !== null && jQuery.ui.autocomplete !== undefined) { |
| 193 | + $(data.fake_input).autocomplete(settings.autocomplete); |
| 194 | + $(data.fake_input).on('autocompleteselect', data, function(event, ui) { |
| 195 | + $(event.data.real_input).addTag(ui.item.value, { |
| 196 | + focus: true, |
| 197 | + unique: settings.unique, |
| 198 | + minChars: settings.minChars, |
| 199 | + maxChars: settings.maxChars, |
| 200 | + limit: settings.limit, |
| 201 | + validationPattern: settings.validationPattern |
227 | 202 | }); |
228 | | - } |
| 203 | + |
| 204 | + return false; |
| 205 | + }); |
| 206 | + |
| 207 | + $(data.fake_input).on('keypress', data, function(event) { |
| 208 | + $(this).autocomplete("close"); |
| 209 | + }); |
229 | 210 | } else { |
230 | 211 | $(data.fake_input).on('blur', data, function(event) { |
231 | 212 | $(event.data.real_input).addTag($(event.data.fake_input).val(), { |
|
305 | 286 |
|
306 | 287 | // Removes the error class when user changes the value of the fake input |
307 | 288 | $(data.fake_input).keydown(function(event) { |
308 | | - // alt, shift, esc, ctrl and arrows keys are ignored |
309 | | - if (jQuery.inArray(event.keyCode, [37, 38, 39, 40, 27, 16, 17, 18, 225]) === -1) { |
| 289 | + // enter, alt, shift, esc, ctrl and arrows keys are ignored |
| 290 | + if (jQuery.inArray(event.keyCode, [13, 37, 38, 39, 40, 27, 16, 17, 18, 225]) === -1) { |
310 | 291 | $(this).removeClass('error'); |
311 | 292 | } |
312 | 293 | }); |
|
0 commit comments