1
0
mirror of synced 2024-11-22 21:16:10 +03:00
Commit Graph

823 Commits

Author SHA1 Message Date
evangun
cfec9c6434 Edit the default initSelection function to pass all tag properties
The function will now pass all properties of the objects passed as tags to the constructor, not just the "id" and "text" properties. Because a tag is not always just an id and a text, just like when you provide the items with the "data" object instead.

This makes sure these properties are always available at the runtime of formatSelection() or formatResult(), which is not currently the case when the field is repopulated on a triggered "change" event.

My code looks like this :

$el.select2({
...,
tags: [{
  //id
  id: 1,
  //the string that will matched against the user's query
  text: 'martin smith greatmartin@provider.com'
  //the label of the item that will be shown if this tag is selected
  label: 'M. Smith',
}],
formatSelection: function(object, container){
  return object.label || object.text;
},
//right now I have to override the default function:
initSelection: function(){...}
});
2013-09-05 18:18:50 +02:00
jdecuyper
fa4ce8e382 Enable function formatResultCssClass. 2013-09-03 23:29:42 -05:00
Igor Vaynberg
fb8bf6d51d do not leak click events. fixes #1622 2013-09-03 21:16:16 -07:00
Igor Vaynberg
7d60f619ce Merge pull request #1211 from jhinch/pixel-rounding-problems
Search width inconsistencies in different browsers due to fractional pixels
2013-09-03 20:48:35 -07:00
jdecuyper
02dea18dc9 Avoid locked options to be selected and deleted. 2013-09-03 17:20:35 -05:00
jdecuyper
a380ebabd5 Remove duplicated options from multi-valued select boxes. 2013-08-30 18:16:41 -05:00
Duncan Smart
edc0d86fd2 Added select2-clearing event
that allows clearing selection to be canceled.
2013-08-30 21:35:01 +01:00
Igor Vaynberg
ca7550bf4d Revert "Fixed Tab key not respecting opts.selectOnBlur" breaks tab key. fixes #1646.
This reverts commit 6eb74930d5.
2013-08-30 08:55:16 -07:00
markwellna
3c2d7f7310 Clicking outside of dropdown removes select2-container-active class.
Closes #1661.
2013-08-28 13:05:41 -04:00
François Pluchino
9bc68f089e Fix the focus when list is closed on the mouse click event 2013-08-21 12:16:50 +02:00
Igor Vaynberg
c4529b8700 fix missing placeholder. closes #1614 2013-08-14 16:57:37 -07:00
Jonathan Forby
a4dc0ba522 Fix missing dropdownCssClass on init
Fixes issue #1615 where dropdownCssClass is no longer applied.
2013-08-14 16:54:10 -04:00
Igor Vaynberg
4dce07a431 fix usecase when a placeholder is not defined but an option with an empty value exists. fixes #1573 2013-08-12 08:43:13 -07:00
Chris Stasiak
2515e19ed9 Removed BOM 2013-08-12 12:22:48 +02:00
Igor Vaynberg
2400357d59 small fix for #1604 2013-08-09 16:38:23 -07:00
jdecuyper
e1b50a306b Add 'nextSearchTerm' function
- Given a previous selection 'nextSearchTerm' determines what the next search term should be.
- Remove some leftover tabs.
- Fix a typo: 'install the' instead of 'install sthe'.
2013-08-09 17:26:23 -05:00
Streid
e4c1e061e4 Tab to spaces 2013-08-09 11:33:41 +03:00
Streid
1d1212c5ed Fix: Not working adaptDropdownCssClass callback. 2013-08-09 11:30:47 +03:00
Igor Vaynberg
59df6b4c9a prevent scrolling when dropdown is opened. fixes #1540 2013-07-31 22:05:44 -07:00
Igor Vaynberg
e162a4802c tweak how mask is created to remove jitter. fixes #1574 2013-07-31 21:41:37 -07:00
Igor Vaynberg
2ab64be416 Merge pull request #1563 from UltCombo/1562
Fixes #1562 do not trigger change on $().select2('data') unless specified with the second param
2013-07-30 09:41:56 -07:00
Igor Vaynberg
28ea518257 width: copy option needs to ignore min-width and max-width. fixes #1557 2013-07-27 10:02:27 -07:00
Igor Vaynberg
852784dd3f fixes #1504 - undo changes made to labels during init 2013-07-26 23:58:38 -07:00
Igor Vaynberg
238903f5f4 close before destroying. fixes #1550 2013-07-26 22:22:21 -07:00
UltCombo
69396da14f data method use the same triggerChange logic as val method 2013-07-25 21:41:22 -03:00
Fede Isas
337fac620e add zepto compatibiliy 2013-07-25 16:44:41 -03:00
UltCombo
2d58f5b084 Fixes #1562; remove some dead code
No longer fire change event when .select2('data', falsyValue) is called without the 3rd param;
Dead code removed: !"" is true.
2013-07-23 18:55:09 -03:00
Ebbe Brandstrup
6eb74930d5 Fixed Tab key not respecting opts.selectOnBlur 2013-07-22 09:30:35 +02:00
Igor Vaynberg
92fe5018c9 fix 'autocaptilize' typo. fixes #1544 2013-07-18 14:05:47 -07:00
Igor Vaynberg
0c479b4cd1 additional tweal to #1528 to make formatters skip nulls 2013-07-17 00:32:41 -07:00
Igor Vaynberg
99dbc66d95 fix incorrect reference. fixes #1530 2013-07-15 23:10:19 -07:00
Igor Vaynberg
eaf2704a18 fixes #1528 Returning [] from data method on unset value for single-selects 2013-07-15 23:01:49 -07:00
UltCombo
a6c5302e71 fixes #1536 2013-07-15 11:59:34 -03:00
Igor Vaynberg
24716bc872 fixes #1513 2013-07-10 16:49:42 -07:00
Igor Vaynberg
1f09c7abaf fix options with empty values. fixes #1497 2013-07-09 00:14:48 -07:00
Alexander Ryden
3e2f11d193 Remove the byte order mark 2013-07-08 13:56:11 +02:00
Igor Vaynberg
b8c203ca36 fix #1478 2013-07-03 23:08:55 -07:00
Igor Vaynberg
cdcdc98b55 copy style attr from original element. fixes #1476 2013-07-03 22:42:44 -07:00
Igor Vaynberg
bed05df474 Merge pull request #1486 from fjmilens3/select2-loaded-events
Added select2-loaded event trigger in loadMoreIfNeeded
2013-07-03 22:20:12 -07:00
Igor Vaynberg
88af7ce387 add missing semis. fixes #1489 2013-07-03 22:17:05 -07:00
Igor Vaynberg
37073f623a Merge pull request #1485 from timisbusy/master
Trimming in opts.createSearchChoice
2013-07-03 15:27:58 -07:00
Igor Vaynberg
42d3ef4405 use click instead of mousedown so we dont break drag and drop support 2013-07-03 15:19:37 -07:00
Igor Vaynberg
ea14b7c30d Merge pull request #1474 from geophree/query-fix
Ignore old queries, remove highlight when beginning a new query.
2013-07-03 15:19:15 -07:00
Frederick John Milens III
37bf85ead0 Added select2-loaded event trigger in loadMoreIfNeeded 2013-07-02 10:38:09 -05:00
Tim Atkinson
a469143f01 adding trim to opts.createSearchChoice default function to avoid mismatches with val object 2013-07-02 10:35:12 -04:00
Jeff Hanke
2a0cc76236 Remove ajax out-of-order dropping code, handled in updateResults now. 2013-07-01 13:30:44 -07:00
Igor Vaynberg
be535c7a77 add support for diacritics. fixes #1472 2013-06-28 10:05:12 -07:00
Jeff Hanke
1eb461a42c Ignore old queries, remove highlight when beginning a new query. 2013-06-27 13:17:35 -07:00
Igor Vaynberg
76f9bae39a fix js error that happens when enter is pressed and there is no highlighted option. fixes #1469 2013-06-27 08:15:58 -07:00
Mateusz Dereniowski
8fb7f46297 Add accurate comment to the 'equal' function 2013-06-27 10:30:09 +02:00
Jeff Hanke
338a126067 Always call createSearchChoice and tokenizer with the Select2 object as this. 2013-06-26 14:20:22 -07:00
Cyrille Jouineau
7303852862 replaces a <div> inside a <a> with a <span>
and minor code cleaning
2013-06-26 16:32:07 +02:00
Igor Vaynberg
75edea83b2 added support for data-locked=true next to locked=locked attr. fixes #503. 2013-06-25 21:56:31 -07:00
Igor Vaynberg
4969dcb42c fix #1396 - fix destroy() when double initting 2013-06-23 15:21:16 -07:00
Igor Vaynberg
ef136731d4 move markup escaping of selection into the formatSelection callback. fixes #1417. fixes #1420 2013-06-23 14:32:45 -07:00
vitalets
c57dd1f0ff fix: data not passed in select2-loaded event 2013-06-22 18:19:44 +04:00
Igor Vaynberg
3ab1aafae5 fix #1425 ctrl+enter should not open 2013-06-19 22:49:35 -07:00
Igor Vaynberg
ce67f7b7fb fix #1426 - reinitting screws up tabindex 2013-06-19 22:39:03 -07:00
Igor Vaynberg
455067ed4e fix #1391 make tabbing out work when no results message is shown 2013-06-13 21:02:49 -07:00
Igor Vaynberg
c36b53ad24 fix #1404 allow formatnomatches to be null in multiselects 2013-06-13 20:48:48 -07:00
Igor Vaynberg
48294f2aea remove undermask for ie since its no longer needed after #1414 2013-06-13 20:34:59 -07:00
Igor Vaynberg
4aaa887b64 fix ie detection logic 2013-06-12 18:32:22 -07:00
Igor Vaynberg
7c729555e5 improve highlighting in single selects 2013-06-12 17:56:58 -07:00
Igor Vaynberg
29129008d5 when opened scroll to selected item. fixes #1408. closes #1411 2013-06-12 17:49:32 -07:00
Igor Vaynberg
b1867b5341 fix access to search method. fixes #1392 2013-06-06 21:58:10 -07:00
Igor Vaynberg
4917429c7a fixes #1387, better handling of ajax handler var 2013-06-05 08:23:49 -07:00
Mike S
bbd08bec03 Restoring allowedMethod container 2013-06-04 10:09:49 -07:00
Mike S
796c9e802a Renamed to search 2013-06-04 10:04:14 -07:00
Mike S
06130ffc12 Added setSearch method 2013-06-04 10:04:13 -07:00
Igor Vaynberg
30dac9a40b export default escapeMarkup function so it can be easily accessed. #1222 2013-06-04 08:42:46 -07:00
Igor Vaynberg
4e7a8b00fc a tweak to prevent clicks propagating through the mask on IE9. #1058 2013-06-04 08:33:02 -07:00
Igor Vaynberg
8904e42ef9 correctly handle undefined placeholders. tweak to issue #1365 2013-06-03 12:12:46 -07:00
Igor Vaynberg
def8adca7c cleaner way to detect older IE 2013-06-03 11:19:00 -07:00
Igor Vaynberg
5d8f03c90b clarify syntax. fixes #1358 2013-06-03 10:02:19 -07:00
Igor Vaynberg
d08d9ff18c Revert "add title for choice item"
This reverts commit 79228ce1e0.
2013-06-03 09:55:52 -07:00
Igor Vaynberg
a4a3eedd51 component stays open after clicking on a native select in IE. fixes #1356 2013-05-31 17:57:21 -07:00
Igor Vaynberg
efc609d073 close on tab-out. fixes #1341 2013-05-31 17:14:29 -07:00
Igor Vaynberg
cb7b5464a1 only validate initSelection is present on val() if we are not clearing 2013-05-31 15:29:14 -07:00
Igor Vaynberg
9a3666edb5 Merge pull request #1365 from corinnaerin/master
Feature: Allow placeholders with nonempty values
2013-05-31 15:12:32 -07:00
Jeff Turcotte
ae71175dbe Added ability to get the dropdown element 2013-05-31 12:17:15 -04:00
Corinna Schmidt
50cbd3927c new placeholderOption option
added ability to specify an option through a function or the shortcut
"first" which will be used as the placeholder option. If no placeholder
text is specified, then the text of this option will be used as the
placeholder text.
2013-05-30 13:41:08 -04:00
Igor Vaynberg
ae2f61ef12 Merge pull request #1351 from alexhaas/patch-1
Fixing inline width declaration when this.opts.width is set to "copy"
2013-05-28 13:15:54 -07:00
Igor Vaynberg
6858742e16 improve focus handling on mobiles. fixes #1344 2013-05-28 12:32:36 -07:00
alexhaas
0fc90ec95a Update select2.js
Fixing a container width problem that was caused by an inline width declaration when this.opts.width is set to "copy" (the default).
2013-05-27 15:13:09 -03:00
Igor Vaynberg
87e62004f6 remove unnecessary code 2013-05-22 23:40:26 -07:00
Igor Vaynberg
f1a5fe2c9e remove dupe format no matches messages. fixes #1341 2013-05-22 23:38:39 -07:00
Igor Vaynberg
213d281ece fix first char being lost. fixes #196 2013-05-22 22:14:42 -07:00
Igor G.
dae97ffc83 Remove duplication of "No matches found" message
In case if data is fetched in chunks, not at once, "No matches found" message is shown as many times as we requested for it.
Lets say we have 15 items, and data is fetched 5 at a time. After all items are selected, "No matches found" message would be duplicated 3 times.
2013-05-21 17:20:24 +03:00
Igor Vaynberg
70f1b29882 optimize mousemove listener. fixes #1328 2013-05-17 08:14:09 -07:00
James Ramsay
856dc0b526 Added support for css class for selected elements 2013-05-17 09:11:58 +10:00
Igor Vaynberg
06440a6bf8 MultiSelect JavaScript error - no method 'showSearch'. fixes #1311 2013-05-14 15:17:24 -07:00
Igor Vaynberg
de6d90c079 fix typo. fixes #1310 2013-05-14 14:05:33 -07:00
Julen Ruiz Aizpuru
66e06acde8 Removed BOM. 2013-05-14 11:41:31 +02:00
dirkpostma
f235a84aa8 Turn off autocorrect and autocapitilze
On e.g. mobile devices, it's more user friendly to turn off autocorrect in input fields. This patch adds the attributes autocorrect, autocapitilize and spellcheck. See also:

http://davidwalsh.name/disable-autocorrect
2013-05-12 21:06:16 +03:00
Igor Vaynberg
4e1873fb9d set maxlength on search when maximumInputLength is defined. closes #538 2013-05-10 00:43:30 -07:00
Igor Vaynberg
7fc16ed094 fix focus in mobile. fixes #1018 2013-05-09 09:48:31 -07:00
Igor Vaynberg
11c08cab12 bind/delegate -> on. #1260 2013-05-09 00:07:35 -07:00
Igor Vaynberg
92617ec54e preserve order of elements in the data call. fixes #1280 2013-05-08 23:53:30 -07:00
Foxel
a957ed81fd Fixed undefined this.autofocus on destroy while creating on element that already have select2 applied 2013-05-09 10:36:46 +07:00
Igor Vaynberg
5762b85dd2 prevent opening of a disabled select via api. fixes #1272 2013-05-07 12:39:18 -07:00
Igor Vaynberg
92ceb93e93 fix ajax defaults not to interfere with options 2013-05-07 09:07:03 -07:00
Igor Vaynberg
bcfa3fc702 show search if minimum input length has been set 2013-05-07 08:39:16 -07:00
Igor Vaynberg
43e6b86f75 prevent scrollback left on opening. fixes #467 2013-05-06 23:40:31 -07:00
Igor Vaynberg
13c1dcbf67 add default ajax options. fixes #1125 2013-05-06 21:20:08 -07:00
Igor Vaynberg
694432d83d fix fast typing in IE. fixes #949 2013-05-06 20:54:26 -07:00
Igor Vaynberg
26f41602b2 Merge pull request #1247 from juliankrispel/master
Display formatNoMatches when all ajax results are selected
2013-05-06 20:29:25 -07:00
Igor Vaynberg
e21018147c fixes #1263 2013-05-06 20:26:30 -07:00
Igor Vaynberg
d668ae76d0 select2-focus and select2-blur events. fixes #798. closes #866 2013-05-06 20:13:05 -07:00
Igor Vaynberg
882e7996f4 keep focus in control when the mask is clicked 2013-05-06 20:05:15 -07:00
Igor Vaynberg
4094c1c7de fix tab-on-select transfers focus to next element. fixes #898. fixes #1045 2013-05-06 19:42:38 -07:00
Igor Vaynberg
9c1caa6d3a add handling of autofocus attribute. fixes #837 2013-05-06 19:25:09 -07:00
Igor Vaynberg
b0959000b3 namespace events and consoldate select and selected into selecting. fixes #497. fixes #1262 2013-05-06 16:12:38 -07:00
Igor Vaynberg
266861ac51 fix parameter names 2013-05-06 15:26:46 -07:00
Igor Vaynberg
231cce0add Merge pull request #1187 from barryhunter/patch-2
Bugfix for Resetting Scrollpoint on Multi-select
2013-05-06 15:25:55 -07:00
Igor Vaynberg
8008bfa8dc attr to prop change. #1260 2013-05-06 15:23:46 -07:00
Igor Vaynberg
0fe95eb07c Merge pull request #1062 from bigmihail/patch-1
Use $.prop() to get "multiple" attribute
2013-05-06 14:07:26 -07:00
Igor Vaynberg
adb126edc6 Merge pull request #1239 from NielsKuhnel/master
Keyboard navigation in choices (whitespace preserved)
2013-05-06 13:41:06 -07:00
Igor Vaynberg
55827b9159 introduce support for separate readonly and disabled modes. closes #1253. fixes #778. closes #1183 2013-05-06 13:13:02 -07:00
Igor Vaynberg
62e0ae6004 #1260 closes #1252 fixes #992 - retrieve option text as value when value is not defined 2013-05-06 09:54:17 -07:00
Igor Vaynberg
83050fd2fa Problem escaped caracter on IE7. fixes #856 2013-05-06 09:34:44 -07:00
Julian Krispel-Samsel
9d06fe24dc Render formatNoMatches when all ajax results are selected #381 2013-05-04 08:03:00 +01:00
Niels Kühnel
870b1b7165 Less aggresive keyboard deletes and carret stays 2013-05-03 11:51:41 +02:00
Niels Kühnel
877c1d90c5 Keyboard navigation in choices (tags) 2013-05-03 00:41:55 +02:00
Leigh Halliday
da7dd51294 Changing to from &apos; to &#39; because &apos; isn't supported in IE8 2013-05-02 12:03:20 -04:00
Igor Vaynberg
78139a80ba work around chrome and mutation observer bug. fixes #1099 2013-04-27 11:08:29 -07:00
Vitaly
79228ce1e0 add title for choice item 2013-04-26 18:22:23 +04:00
Jason Hinch
f37f07006c Floor the searchWidth calculation due to inconsistencies between fractional pixel handling in different browsers 2013-04-24 15:04:38 +10:00
barryhunter
4e8da110d6 Bugfix for Resetting Scrollpoint on Multi-select
Duplicating pull request #974 - which seemed to only fix it for 'single' version. Have copied the same condition into the one for 'multi' case. There may be a better way, but in my testing this seems to have worked.
2013-04-15 00:25:51 +02:00
barryhunter
f511d5a2ff Allow overriding jquery's automatic cache-busting on ajax calls
By default jQuery (and Select2) add parameters to ajax calls, to invalidate browser caching. In certain circumstances its useful to disable this (eg when server sets good Cache-Control headers), this patch allows passing the cache/jsonpCallback params though to jquery's ajax function.
2013-04-14 23:14:16 +02:00
Julen Ruiz Aizpuru
8cb3698820 Fix #1172 -- Properly set width when allowClear is being used.
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-04-12 07:58:31 -07:00
Igor Vaynberg
25549c787b Revert "applied fix for #1172 - Clear button overlaps text"
This reverts commit fd07c11484.
2013-04-12 07:58:13 -07:00
Igor Vaynberg
06c82f2d0b do not propagate change event from the search field out of the component. fixes #1178 2013-04-11 20:22:52 -07:00
Alex Rice
a0f35aba3f Remove inline styles 2013-04-12 02:57:03 +00:00
Igor Vaynberg
4a0851bce5 Array data with custom key (string) isn't returning matches. fixes #1179 2013-04-11 19:15:16 -07:00
Igor Vaynberg
fd07c11484 applied fix for #1172 - Clear button overlaps text 2013-04-11 15:00:17 -07:00
Martin K.
9057a9606f Update select2.js
See #1175 - fixed typo introduced in last commit
2013-04-10 19:33:23 -03:00
Igor Vaynberg
45995d0f34 fix tabindex for both multi and single. fixes #1169 2013-04-10 12:56:30 -07:00
leipie
bc2c780449 Fix tabindexing
Actually set tabindex on the select2-focusser for focussing on tab
navigation

Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-04-10 12:43:30 -07:00
Igor Vaynberg
f582d8ae15 Merge pull request #979 from mynameistechno/master
Fixes #291
2013-04-10 12:30:05 -07:00
Igor Vaynberg
92e2c6d56f Merge pull request #1073 from norlin/master
Fix initSelection method with empty input value
2013-04-10 08:22:10 -07:00
Igor Vaynberg
dc27a5b74d add a rejectable select event. fixes #1053 2013-04-09 19:53:11 -07:00
Igor Vaynberg
2bf5a763c5 fix keystroke dropping when single select is opened by typing in unopened state really fast. fixes #949 2013-04-09 18:58:30 -07:00
Igor Vaynberg
bd2a8c6d84 centralize option tag to data element translation 2013-04-09 15:11:39 -07:00
Igor Vaynberg
49e9908656 Merge pull request #1162 from leipie/master
Fix IE8 clickable issues
2013-04-09 09:54:49 -07:00
Igor Vaynberg
598773258e fixes #1163 fixes #1160 fixes #1129 2013-04-09 09:51:24 -07:00
leipie
d1c81dfbe2 Make select whole select clickable in IE8 2013-04-09 17:12:01 +02:00
Igor Vaynberg
511c1b8728 when resolving width use case insensitive expression. fixes #1065 2013-04-08 16:25:46 -07:00
Igor Vaynberg
de07ba2b16 apply offscreen class after calculating width because offscreen class resets the width. also use css('width') when copying width if it returns a usable value. fixes #1140. fixes #1079 2013-04-08 16:24:15 -07:00
Igor Vaynberg
d80ec81199 Merge pull request #1055 from jessefoster/autoDropdownWidth
Add option to automatically size dropdown width
2013-04-03 09:16:01 -07:00
Dmitrii Chekaliuk
aedcc10b8f Fix focus issue on multi-value select
Inside the multi-value select box, when you hit backspace next to the
choice, it gets the `select2-search-choice-focus` class, but that class
is not being removed when select box loses the focus.
2013-03-28 02:29:59 +02:00
Igor Vaynberg
2f69290e2d Merge pull request #1095 from nolamesa/patch-1
Fix for random scrolling when using hierarchical data
2013-03-26 12:19:35 -07:00
Igor Vaynberg
f9f76d8b4c remove debug statement 2013-03-26 08:48:54 -07:00
nolamesa
5b0bbfeb7c Fix for random scrolling when using hierarchical data
When using hierarchical data there is a random scroll jump when hovering over select options. The reason is that in the case of hierarchical data the highlightable choices are <ul> and thus their outer height is many pixels (includes the children's height as well). A fix is to make the height calculations by using the the label divs.
2013-03-26 14:49:02 +02:00
Igor Vaynberg
7a3d3dcd2b Revert "Added ajax.transport support to default options"
This reverts commit 04a6535bd5.
2013-03-25 09:17:19 -07:00
Igor Vaynberg
94c1706c67 clear off active class when closing. #1089 2013-03-25 08:57:35 -07:00
Igor Vaynberg
519070b11d fix label focussing bug on ios. fixes #1008. 2013-03-25 08:54:01 -07:00
Igor Vaynberg
45559654bc fixes #1057 2013-03-25 08:54:01 -07:00
Igor Vaynberg
a624417556 Merge pull request #1083 from rvignacio/default_ajax.transport
Added ajax.transport default option
2013-03-23 21:22:34 -07:00
rvignacio
04a6535bd5 Added ajax.transport support to default options 2013-03-23 17:26:37 -03:00
gboer
ea39b25bf6 Update select2.js
Fix for when you specify tags using JSON-encoded select2-tags-attribute.

And thank you for properly implementing my (earlier) submitted hack :)
2013-03-23 15:05:16 +01:00
norlin
c8cae0a6c9 fix initSelection with empty input value 2013-03-22 10:14:39 +04:00
Mihail
381f173e55 Use $.prop() to get "multiple" attribute
The string 
opts.element.attr("multiple") 
returns:
1) string "multiple" - if element have attribute multiple (<select name="..." multiple></select>)
2) undefined - if element have not attribute multiple (<select name="..."></select>)
It is written in the documentation:
"As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set."
"To retrieve and change DOM properties, use the .prop() method."
(http://api.jquery.com/attr/)

I am propose use "prop" function. The string
opts.element.prop("multiple")
returns:
1) boolean "true" - if element have attribute multiple
2) boolean "false" - if element have not attribute multiple

After, the "multiple" variable use in check of the condition:
select2 = multiple ? new MultiSelect2() : new SingleSelect2();
Better use true/false variable value than "multiple"/undefined in this condition.

Tested in Opera 12 and IE 8.0.7601
2013-03-20 14:19:05 +02:00
ZhongYou
6a58e99285 trigger "focus" event in focus function make chrome error:
"Uncaught RangeError: Maximum call stack size exceeded"
2013-03-19 18:01:12 +08:00
jfoster
7956d7aee3 Add option to automatically size dropdown width 2013-03-18 19:56:38 -04:00
Igor Vaynberg
9acfc6faa5 prevent duplicate queries 2013-03-14 12:47:46 -07:00
Igor Vaynberg
3be8547584 added new loaded event. fixes #930 2013-03-14 12:00:06 -07:00
Igor Vaynberg
86a8190080 Loading icon doesn't disappear when using tags with auto tokenization. fixes #1005 2013-03-14 11:39:45 -07:00
Igor Vaynberg
b973b56cce Calling select2('open') on multiple select shows 'No Matches Found'. 2013-03-14 11:31:11 -07:00
Igor Vaynberg
911a0bb082 prevent form from being submitted when enter is pressed in multiselect. fixes #961 2013-03-14 11:14:37 -07:00
Igor Vaynberg
dd34cc5d67 always show spinner during searching. fixes #950 fixes #943 2013-03-14 10:00:25 -07:00
Jens Rantil
5193dc40b9 Fixing grammar
I find it hard to "type" less characters. It's sort of unintuitive.
2013-03-13 17:38:34 +01:00
frntz
78312ce33f Slash doesn't escaped
Caused problems during uglify minification
2013-03-13 08:40:47 +01:00
Igor Vaynberg
ae4b24a7e8 workaround for IE when manipulating classes. fixes #937 fixes #1017 2013-03-12 09:27:11 -07:00
sjschukin
1cff8d4d22 Update select2.js
bugfix: .select2("data", null) for remote datasource causes an error "ReferenceError: e is not defined"
2013-03-12 16:35:14 +04:00
Igor Vaynberg
814e8b5bed fix #1000 2013-03-07 16:04:19 -08:00
Stephen Starkey
e7f2aeaf08 Don't update results if maximumSelectionSize is 0
a maximumSelectionSize of zero means unlimited, which means 
we shouldn't be updating results if it's set to 0
2013-03-05 10:31:28 -06:00
Mark Matyas
8d424b3202 Fixes #291 2013-03-05 02:19:28 -08:00
Nils Kenneweg
414c376a1a fixed a bug resetting scroll when loading more data. 2013-03-04 13:54:03 +01:00
Dave Smith
953b6f2ac1 Fix mask height/width when document is shorter than window
When the document element (e.g., the body) is shorter than the window,
the select2-drop-mask was not extending all the way to the bottom
of the browser viewport, leading to an area below the body that was
clickable but that select2 did not notice. Thus, if a user clicked
down there, the drop would not disappear. This is particularly
troublesome if the page contains absolutely positioned elements at
the bottom of the browser window.
2013-03-01 15:05:46 -07:00
Igor Vaynberg
66860b2811 Merge pull request #964 from adam-iris/master
Fix for issue #934
2013-03-01 10:47:40 -08:00
Igor Vaynberg
debbcfcede correctly filter out selected options out of elements loaded by infinite scroll. fixes #881 2013-03-01 09:11:45 -08:00
Igor Vaynberg
5ae70eca5f work around a firefox bug when calculation search width. fixes #944 2013-03-01 08:29:40 -08:00
Igor Vaynberg
31101764ff add missing element prop to data. fix #936 2013-03-01 00:54:11 -08:00
Igor Vaynberg
8520793f25 workaround for chrome focus bug. fixes #939 2013-02-28 19:47:19 -08:00
Adam
dacf51361d Default local initSelection returns the actual selected items
Fix for issue #934. The default initSelection uses a matcher to find
items that match the selection, but if the data is hierarchical what
the matcher returns may actually be grouping elements, so they can't be
treated as a list of matching items.  This fix runs the matcher but
rather than using its return value it collects the matching item(s)
into a closure-scoped variable and then returns that.
2013-02-27 17:05:19 -08:00
Igor Vaynberg
83d77cfa62 fix search field focussing problems. fixes #922 2013-02-27 08:53:44 -08:00
Vincent Petry
08b75a1798 Do not trigger event when calling clear() from val() with empty value 2013-02-21 10:53:16 +01:00
Igor Vaynberg
cd0adbe913 fix duplicate values in IE. fix #840 2013-02-20 19:06:05 -08:00
Igor Vaynberg
8e9e65f864 Error when clearing a single-select box multiple times. fix #908 2013-02-20 18:36:11 -08:00
Igor Vaynberg
250447b53a Clicking the clear button raised the changed event twice. fixes #867 2013-02-20 08:51:03 -08:00
Igor Vaynberg
38758d754b fix ajax url() context. fixes #895 2013-02-19 14:11:38 -08:00
Igor Vaynberg
70be25cc6d fix ajax url() context. fixes #895 2013-02-19 13:21:57 -08:00
Igor Vaynberg
9bf4614cd5 fix ajax url() context. fixes #895 2013-02-19 11:54:38 -08:00
Igor Vaynberg
6b65976e17 Merge pull request #893 from bgertonson/ajax_url
#608 fix to allow distinct ajax urls
2013-02-19 10:03:28 -08:00
Bryan Gertonson
302c87b197 Because a shared options object is passed around when creating each instance of a select2 widget, the query function that was built would use the last ajax url that was set on the options object for all select2 widgets. By using a variable scoped to the closure, the ajax url can be maintained per select2 instance. 2013-02-19 11:18:54 -06:00
Vitaly
dea7979f11 TypeError: Cannot call method 'positionDropdown' of undefined 2013-02-19 12:19:27 +04:00
Lee Baker
6278e7cca0 Fixing when the data helper is a function for the local query
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-02-16 18:33:27 -08:00
Igor Vaynberg
7d908da52f allow data helper to be a function 2013-02-14 19:52:43 -08:00
Igor Vaynberg
76cd145380 fix placeholder sizing. fixes #430 2013-02-14 01:05:28 -08:00
Igor Vaynberg
179ba17174 do not take over mouseup event in dropdown. fixes #857 2013-02-14 00:49:45 -08:00
Igor Vaynberg
c081d0f00c fix placeholder problem. fixes #853 2013-02-13 01:15:05 -08:00
Igor Vaynberg
cd3d7421c4 allow hiding search field permanently. #189 2013-02-12 00:11:24 -08:00
Igor Vaynberg
8868d59176 delay creation of mask until opening. 2013-02-11 22:16:30 -08:00
Kevin Brown
940d1f2d67 Better imitate native touch experience 2013-02-11 20:31:18 -05:00
Igor Vaynberg
9035dfcb93 equal and indexof need to support comparing items of differnet types, ie string vs number. this is needed because numeric ids stored in val() are strings and need to be compared against data ids which are numbers. fixes #840 2013-02-10 15:16:38 -08:00
Igor Vaynberg
b3a0c3269a ignore modifier keys when enter is pressed. fixes #836 2013-02-09 23:55:34 -08:00
Igor Vaynberg
acdbb02498 open multi dropdown on paste. fixes #577 2013-02-09 23:24:09 -08:00
Igor Vaynberg
be76cd9ded Merge pull request #599 from DataDog/master
Update context from callback data on `query` call
2013-02-09 23:05:12 -08:00
Igor Vaynberg
bd1dfbd49d Revert "* Fix of issue 550 Select2 and CSS Transforms: dropdown menu is off position: https://github.com/ivaynberg/select2/issues/550"
This reverts commit ef8c49f85f.
2013-02-09 22:19:59 -08:00
Igor Vaynberg
cf2b696fd9 fire change on clear. fixes #558 2013-02-09 20:39:33 -08:00
Igor Vaynberg
f15583a555 make query() aware of the element select2 is attached to. fixes #561 2013-02-09 20:22:21 -08:00
Bob Burton
ef8c49f85f * Fix of issue 550 Select2 and CSS Transforms: dropdown menu is off position: https://github.com/ivaynberg/select2/issues/550
jquery offset() returns incorrect value when ancestor container has css transform applied to it, causing dropdown to appear in incorrect position.

Using { top: variable.offsetTop, left: variable.offsetLeft } instead of variable.offset() fixes this issue

Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2013-02-09 19:55:04 -08:00
Igor Vaynberg
6c9aef4bb3 fire selected before close. #835 2013-02-09 19:13:26 -08:00
Igor Vaynberg
a4c76f2dfb added selected and removed events. fixes #835 2013-02-09 16:44:44 -08:00
Igor Vaynberg
d54378563c fix closeOnSelect and maximumSelectionSize combo bug. fixes #672 2013-02-09 15:48:20 -08:00
Igor Vaynberg
6c4b96791d another tweak for css class filtering. #834 2013-02-09 15:14:45 -08:00
Igor Vaynberg
150160f183 sync css classes. fixes #834 2013-02-09 14:29:48 -08:00
Igor Vaynberg
ebc436c42b improve val() handling on multiselect. fixes #654 2013-02-09 09:41:35 -08:00
Igor Vaynberg
2f53c251d4 added params ajax option to pass extra params to transport. fixes #492 2013-02-09 01:20:19 -08:00
Igor Vaynberg
d56f43092b introduce highlight event. fixes #529. fixes #762 2013-02-09 00:45:14 -08:00
Igor Vaynberg
65af98cfed improve dropdown open up/down mode. fixes #589 2013-02-09 00:08:38 -08:00
Igor Vaynberg
640e7066d9 remove the val(' ').val('') work around in firefox as it is no longer needed. fixes #832 2013-02-08 21:53:43 -08:00
Igor Vaynberg
90998d8442 fire open event after the drop has been opened 2013-02-08 12:21:06 -08:00
Igor Vaynberg
d04d127cab fix triggering of unwated change. #824 2013-02-08 09:49:44 -08:00
Igor Vaynberg
0a201b07a5 Fixed 'width' and 'containerCss' incompatibility. fixes #828 2013-02-08 09:40:47 -08:00
Igor Vaynberg
69d4e0896d Fixed 'width' and 'containerCss' incompatibility. fixes #828 2013-02-08 09:34:09 -08:00
Igor Vaynberg
ef364d2118 better handling of first character typed. fixes #196 2013-02-08 09:33:18 -08:00
Igor Vaynberg
3be3188853 fix bug in destroy method that would keep the original element hidden. fixes #815 2013-02-07 16:20:29 -08:00
Igor Vaynberg
3ec535ec5b make search work with chinese/japanese imes. fixes #814 2013-02-07 16:17:44 -08:00
Igor Vaynberg
275e094dff fix infinite recursion on focus. fixes #816 2013-02-07 16:16:26 -08:00
Stanislav Lesnikov
946a1c6329 Add missing semicolons 2013-02-08 00:46:29 +01:00
Igor Vaynberg
270d4bad07 default initSelection in tags mode instead of overriding it. fixes #811 2013-02-06 15:26:19 -08:00
Igor Vaynberg
d1e9531a0a use a form of attr that will always set the value. fixes #810 2013-02-06 14:02:15 -08:00
Igor Vaynberg
4ba14bbf01 disable ajax caching, fixes #807 2013-02-05 21:28:33 -08:00
Igor Vaynberg
b55efddf07 pass escape markup into formatResult 2013-02-05 17:25:32 -08:00
Igor Vaynberg
e78dc69a6b call escape markup on results 2013-02-05 15:16:21 -08:00
Igor Vaynberg
c90bfc3e22 Merge pull request #702 from skivvies/master
allow passing a function for maximumSelectionSize
2013-02-05 15:05:57 -08:00
Igor Vaynberg
81a0e2610a improve placeholder management. fixes #712 2013-02-05 15:02:43 -08:00
Igor Vaynberg
df2aaa0cfc disable focus-via-tab when disabled. fixes #614 2013-02-05 14:50:06 -08:00
Igor Vaynberg
8332d6a7e9 fix more hierarchical selection bugs. fixes #775 2013-02-01 15:21:07 -08:00
Igor Vaynberg
ecbdc9305b minor optimization. #787 2013-02-01 12:27:30 -08:00
Igor Vaynberg
5374b8799b sync disabled and readonly statuses off original element even post creation 2013-02-01 12:21:28 -08:00
Igor Vaynberg
22dba24881 fix selectOnBlur when closed by means other then tab key. fixes #470 2013-02-01 11:09:08 -08:00
Igor Vaynberg
a19e33e3af ignore configured placeholder on selects without first empty option. fixes #785 2013-02-01 10:46:40 -08:00
Igor Vaynberg
76295bb5e9 use the dropdown mask to close open flyouts instead of a global listener. also move the original element off screen instead of hiding it so clicking a label focuses select2 instance 2013-01-31 23:58:42 -08:00
Igor Vaynberg
c66a91a9bb allow '0' vals to be set. fixes #646 2013-01-31 17:10:30 -08:00
Igor Vaynberg
32249cc7f0 better support orientation change on mobile. #782 2013-01-31 16:45:43 -08:00
Igor Vaynberg
300e99fcd5 Merge pull request #756 from socialceramics/url-function-with-arguments
Ajax `url` option (when function) now called with same arguments and context as `data` option
2013-01-31 14:31:32 -08:00
Igor Vaynberg
4482c2af85 by default do not trigger change from val. #771 #619 2013-01-31 14:25:51 -08:00
Igor Vaynberg
273ec1438e Merge pull request #771 from phtrivier/issue-619
#619 : val takes an optional argument to avoid triggering 'change'
2013-01-31 14:24:45 -08:00