1
0
mirror of synced 2024-11-30 00:26:03 +03:00
Commit Graph

721 Commits

Author SHA1 Message Date
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
Igor Vaynberg
3f87728f7f fix highlighting bugs introduced by disabled option support. fixes #765 closes #775 2013-01-31 13:15:46 -08:00
Igor Vaynberg
7a006a7259 fix scroll event handling since it doesnt bubble. also add a shim behind the dropdown, this allows it to properly close even when used inside modals. sometimes modals will place their own shim that closes the modal and aborts the default mousedown event. in such cases the modal would close but the dropdown element would still float on the screen now detached and the only way to close it would be to make a selection 2013-01-31 10:52:18 -08:00
Igor Vaynberg
3f14f773f9 dont error out when 'x' is removed really fast multiple times. fixes #745 2013-01-30 22:39:03 -08:00
Igor Vaynberg
db39cdf584 remove dead code. fixes #772 2013-01-30 22:29:19 -08:00
Igor Vaynberg
ee01ab79ad fixes #770 2013-01-30 22:23:18 -08:00
Igor Vaynberg
c270d3e4a3 do not close the dropdown on resize or scroll, instead keep it positioned. fixes #753 #669 #719 2013-01-30 21:49:57 -08:00
phtrivier
cf095d9fee #619 : val takes an optional argument to avoid triggering 'change' 2013-01-30 10:21:40 +01:00
Barry Coughlan
89d583736a Fix issue introduced by 20950e0f0c.
Selected items and other invisible items were not ignored by highlightUnderEvent when calculating index.
This caused highlighting of incorrect items when the list contained hidden items.
2013-01-29 18:45:33 +00:00
Jason Purcell
56631aa09f adding defensive check for existence of select2 on the target element during the document mousedown/touchend events 2013-01-28 15:01:17 -05:00
Jason Purcell
67af5a43f1 ajax url function is now passed same arguments and called with same context as data option 2013-01-25 12:40:17 -05:00
Igor Vaynberg
434827d22c Merge pull request #747 from Kollibri/master
Fix issue with disabled options (Issue #733)
2013-01-24 08:42:06 -08:00
Igor Vaynberg
acc6f7923e optimize string comparisons. fixes #743 2013-01-24 08:31:43 -08:00
Amanda Myer
1c183ef23b Update select2.js 2013-01-24 11:09:30 -05:00
Amanda Myer
20950e0f0c Update select2.js
Fixed issues with select2 and disabled options, most of it having to do with incorrectly determining the index of an option when disabled options were being displayed.
2013-01-24 08:59:09 -05:00
Arnar Birgisson
f49b1006aa Use tags correctly when set as a function. 2013-01-23 22:25:34 +01:00
Ronald J Kimball
7ec1e753dc Avoid error when label has no matching element
$('#no_such_element').data("select2") returns null rather than
undefined (jQuery 1.9.0).
2013-01-23 13:53:15 -05:00
Igor Vaynberg
4e92c8b1b4 allow ajax.data to be undefined. fixes #732 2013-01-23 09:24:23 -08:00
Igor Vaynberg
7d8409393c fix parenthesis mismatches 2013-01-23 08:57:10 -08:00
Cristhian Valencia B.
81cfaa587a Update select2.js
missing parenthesis at line :1448 & :1845
2013-01-23 11:14:12 -05:00
Schlogen
567cb7dbe7 Fix for jQuery 1.9 2013-01-22 17:00:38 -05:00
Igor Vaynberg
e89a851727 Merge pull request #715 from vitalets/default-initselection-hidden
Default initSelection() for hidden element
2013-01-16 11:40:26 -08:00
vitalets
88a86e5953 add default initselection for single and multi 2013-01-16 22:35:24 +04:00
vitalets
3570ab523e add third param to matcher in local 2013-01-16 22:09:31 +04:00
vitalets
f63a10ccb1 ready for single 2013-01-16 21:29:17 +04:00
Igor Vaynberg
fa908972b4 Merge pull request #610 from MaxxSoftware/master
Firefox Tab and Enter keys issue.
2013-01-16 08:45:11 -08:00
Igor Vaynberg
fcea1523fd Merge pull request #703 from jelte12345/master
Fixed my own XSS pull request to actually work
2013-01-14 09:52:40 -08:00
_pants
7bdad56837 allow passing a function for maximumSelectionSize 2013-01-12 11:37:57 -05:00
Jelte Fennema
c0dd741a79 Fixed testing mistake 2013-01-12 17:29:48 +01:00
Igor Vaynberg
353672832d Merge pull request #691 from jelte12345/master
Fix XSS injection
2013-01-11 16:39:48 -08:00
Le Wang
a1273b639a add loadMorePadding option
- Trigger load before scrolling to the very bottom.
- When scrolling very fast, unless we pre-load entries, the page itself
  will scroll.
2013-01-10 17:02:00 +08:00
Frédéric Camblor
a770ade670 Allow to pass a callback as ajax.url 2013-01-08 18:54:14 +01:00
Igor Vaynberg
b4f6462bb2 Merge pull request #643 from akinnee/master
Added an option: select highlighted option on blur, "selectOnBlur: false"
2013-01-08 09:02:23 -08:00
Jelte Fennema
a65c08097e Make the escapeMarkup function escape html tags and some other characters and apply it to usefull places 2013-01-08 11:35:58 +01:00
Igor Vaynberg
8e9a231847 add [option disabled='disabled'] support. fixes #480 fixes #157 2013-01-04 09:16:48 -08:00
Igor Vaynberg
7a797300a5 Merge pull request #652 from tispratik/master
Be able to limit each input to a maximum length
2012-12-27 20:56:14 -08:00
Igor Vaynberg
df5a03f0b6 Merge pull request #594 from omab/master
Results sorting on populateResults function
2012-12-27 08:37:54 -08:00
Pratik Khadloya
007fd8c3f5 Be able to limit each input to a maximum length 2012-12-14 13:49:01 -08:00
Grzegorz Klimek
0d6ba97144 Update select2.js
jQuery("input#someId").attr("tabIndex") don't work well in new jQuery 1.8+.
When you try this on field  that don't have tabIndex attr you get undefined 
(but document.getElementById("someId").tabIndex returns '0').
This is why Select2 element onBlur stay whit attr tabindex='-1' 
and you can't navigate form with 'tab' key.
This simple ' || 0' fix this bug.
2012-12-13 10:39:34 +01:00
Alex Kinnee
fa6313afa4 Added the option to select highlighted upon blur, false by default. Original functionality is maintained by default. 2012-12-12 13:54:47 -05:00
tom
b33c86e5e4 Fixes >1 multi-select dropdown being open at the same time
Bug was reproduced on latest FF/Chrome/Safari, but IE exibits correct
behavior with or without the fix.

See: http://jsfiddle.net/tmD7c/2/
2012-12-10 12:46:27 -05:00
Chris Rueber
86952b4ed9 Update select2.js
Adding case to fix placeholder not being displayed when element not visible.
2012-12-08 11:36:07 -06:00
Julien Muetton
09d29585a0 Triggers change when value is set programaticaly.
``` js
$('#select').select2().
    on('change', function () {
        alert('change');
    }).
    val(['foo']);
```

Now shows an alert window.
2012-12-03 09:59:15 +01:00
MaxxSoftware
327e00b0ba Firefox Tab and Enter keys issue.
When item is selected by enter, the list is reopened.
Also pressing tab on focused element with drop list cause immediate reopening with empty search result list.
2012-11-28 12:45:14 +06:00
Conor Branagan
57638ab392 update this.context with data context on query calls 2012-11-21 15:51:31 -05:00
Matías Aguirre
53eaf1fbe1 Results sorting option. Refs #95 2012-11-21 14:12:01 -02:00
Igor Vaynberg
2eb28a60aa allow override of createSearchChoice in tags. fixes #567 2012-11-15 09:56:05 -08:00
MaxxSoftware
ac7de2a756 Update select2.js 2012-11-15 17:26:19 +06:00
MaxxSoftware
1560a3918a Update select2.js
DropDown displayed on the left of select-container if not fit right.
2012-11-15 17:16:55 +06:00
Igor Vaynberg
aa686aa47e Merge pull request #541 from brendanheywood/master
Fixed bug with closeOnSelecet is false
2012-11-02 08:57:15 -07:00
Brendan Heywood
6c59b1e99c Only select the first suitable item if nothing is already selected 2012-11-01 18:00:38 +10:00
Brendan Heywood
291f595a03 Fixed scrolling bug when closeOnSelect is false 2012-10-31 16:35:34 +10:00
tom
ca98ce5564 trivial change: pluralize formatInputTooShort function 2012-10-24 23:48:00 -04:00
Igor Vaynberg
4a363c4b30 Merge pull request #503 from todd-givainc/master
Feature: Locked Items
2012-10-24 13:48:46 -07:00
Kevin Warrington
77ea616d0c fix issue #517 2012-10-22 17:00:03 -06:00
Todd Rafferty
1d4ea633aa Goofed, changed disabled to locked. 2012-10-16 14:41:03 -03:00
Todd Rafferty
43939f08a4 Create locked items that can't be removed.
This patch creates multi select items that can't be removed.
2012-10-16 14:33:35 -03:00
Igor Vaynberg
3ed91862fa fixed dropdown positioning when select2 has margins. fixes #501 2012-10-16 10:22:25 -07:00
Igor Vaynberg
c4e00c6926 Merge pull request #485 from lisandropuzzolo/patch-1
Update select2.js
2012-10-10 13:35:15 -07:00
Kevin Brown
f5ac9bf90c Fixed anchor hrefs
Fixes #482: Mobile Safari issues
2012-10-10 17:24:58 -03:00
lisandropuzzolo
da414577e8 Update select2.js
Fixed line 2154 to allow Select2 work with multiple levels hireachal data.
2012-10-10 12:07:53 -03:00
Igor Vaynberg
26a3d5342b update license in js header 2012-10-03 11:30:12 -07:00
Igor Vaynberg
732ad030a0 fix tab index issues. fixes #408 2012-10-02 10:09:31 -07:00
Kevin Brown
c4c1cbabde Fixed placeholder detection. Fixes #424. 2012-09-24 18:35:13 -03:00
Igor Vaynberg
98976946d6 pass element attr to initSelection for selects upon init 2012-09-24 09:22:36 -07:00
Igor Vaynberg
fccc84cd11 relax formatSearching check. #434 2012-09-21 08:19:31 -07:00
Jacob Haslehurst
3fcfbed03a formatSearching can be disabled
formatSearching can be disabled by returning null from the function which allows the searching message to be disabled.
2012-09-21 16:12:27 +10:00
brettmas
c577158599 original option not available to formatSelection on init
The original option isn't available to formatSelection when initializing the selection from a select[multiple]
2012-09-21 02:39:58 +10:00
Igor Vaynberg
2027c0cebf trigger blur handlers on source element when select2 is blurred 2012-09-19 19:37:58 -07:00
Igor Vaynberg
93ed30d67a mange disabled attr on source element. fixes #427 2012-09-19 19:33:46 -07:00
Igor Vaynberg
a145378848 postprocess results always if closeOnSelect is false. fixes #348 2012-09-18 08:42:23 -07:00
Igor Vaynberg
f18caa5957 jquery 1.8.x fixes. fixes #388 2012-09-17 19:52:42 -07:00
Igor Vaynberg
2cb435680b fixes #366 2012-09-17 19:34:50 -07:00
Igor Vaynberg
bdd746844d tweak formatSelection for #400 2012-09-17 19:25:21 -07:00
Igor Vaynberg
f7e78f6ed9 label for support for id's with brackets, eg id='name[first]'. fixes #422 2012-09-17 18:43:26 -07:00
Igor Vaynberg
4b1204c5de improve keyboard handling. fixes #389 2012-09-13 16:38:20 -07:00
Igor Vaynberg
908c3583d7 bind abbr handler before mousedown. fixes #386 2012-09-13 14:42:53 -07:00
Igor Vaynberg
ab7ab5b3f7 allow clearing on backspace as well as delete. fixes #396 2012-09-13 00:09:17 -07:00
Igor Vaynberg
6690cc449c fix clearing when using jquery 1.6. fixes #386 2012-09-12 16:20:52 -07:00
Jean Boussier
7bc63dd264 Get rid of 2 useless jQuery.delegate event handler 2012-09-12 14:57:35 -04:00
Jean Boussier
3387853d9c Keep a cached reference to jQueryfied document 2012-09-12 14:50:17 -04:00
Jean Boussier
720bdb8c4f Store last mouse position in a variable instead of document datastore
It's hundred times faster. See http://jsperf.com/data-vs-variable
2012-09-12 14:47:25 -04:00
Igor Vaynberg
96657a16aa fix for dropdown closing as soon as its opened in IE8. fixes #369. fixes #354 2012-09-10 17:05:11 -07:00
Igor Vaynberg
b4371aa253 remove executable permission from files 2012-09-10 10:40:44 -07:00
Kevin Chung
7be0e509ff Remove references to jQuery.Events, replace with the closure dollar variable. 2012-09-09 19:35:34 -07:00
Kevin Chung
770924ca8d Fix empty Select2 input from throwing an error when attempting to selecting a value. 2012-09-09 19:06:14 -07:00
Mark DiMarco
7c2dba8fe0 safer check for result.children
`("children" in result) && result.children.length` fails if children is explicitly null.
2012-09-06 16:55:04 -05:00
Igor Vaynberg
281f314fd7 fix performance issue in firefox. fixes #382 2012-09-06 09:17:24 -07:00
Igor Vaynberg
cb44a86649 Merge pull request #374 from tzarger/master
Fix for ValidationEngine & hiding errors on change.
2012-09-05 10:33:05 -07:00
Brent Burgoyne
5580dbbc4c Fixed drop down alignment issue when body has an offset and is not position static 2012-09-05 11:14:12 -06:00
Igor Vaynberg
e5a2824fae Merge pull request #377 from pmirshad/master
Tabbing out doesn't put placeholder back on input tags with multiple=true and no value selected
2012-09-04 17:25:45 -07:00
Gavin Wahl
1b2765fced Pluralize 'items' in formatSelectionTooBig 2012-09-04 16:23:52 -06:00
pmirshad
9fe2453079 Adding event argument to the bound function 2012-09-05 01:52:55 +05:30
pmirshad
5cf5deb267 Fix placeholder missing on tab out on input tags
Tabbing out of input tags with multiple set as true and no value
selected will result in the default placeholder not being shown.
This patch fixes the issue by calling clearSearch() on blur of
MultiSelect2 and preventing the bubbling of the blur event to the
abstract class.

Test case with version 3.2: http://jsfiddle.net/pmirshad/PqP2L/1/
2012-09-05 01:50:34 +05:30
Troy Zarger
039f6b5de9 Fix for ValidationEngine &hiding errors on change.
Copying class attribute to container causes and issue with the JQuery
ValidationEngine. In order to prevent double validation checking, a
simple replace call to copy all but the actual validation[] class.

Also, added a blurOnChange default setting, to allow people to trigger
and blur() event in case of using JQuery ValidationEngine  in order to
immediately hide the validation error message when selecting an option.
2012-09-04 00:43:25 -04:00
Igor Vaynberg
222fa7e415 fix data helper when used with compound choices without a text attribute. fixes #370 2012-08-31 13:41:56 -07:00
Igor Vaynberg
7baa3b9e93 make escapeMarkup configurable. closes #355 2012-08-27 09:48:02 -07:00
Sławek Ehlert
55cc11f9b7 forgot to remove log
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-08-27 09:27:07 -07:00
Sławek Ehlert
852a515d04 make escapeMarkup optional
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-08-27 09:27:07 -07:00
Igor Vaynberg
3b55a65c4d renamed this var. #359 2012-08-27 09:20:31 -07:00
Kyle Gibson
de867bbba1 Pass along arguments sent to debounce
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-08-27 09:19:40 -07:00
Kevin Chung
22b32614ea Reevaluate dropdownCss when positioning dropdown 2012-08-23 15:28:24 -07:00
TedLiang
02d6f9f5db escape special characters in containerId selector 2012-08-18 20:40:48 +10:00
TedLiang
3276e22ab6 escape special characters in containerId selector 2012-08-18 16:42:59 +10:00
TedLiang
881d2fabd3 consistent containid for better integration with form validation. 2012-08-18 15:32:28 +10:00
Igor Vaynberg
c65355edee fixed focussing in IE8. fixes #342 2012-08-16 23:36:26 -07:00
Igor Vaynberg
e4fbf91915 ignore replies that come in after select2 has been closed. fixes #299 2012-08-16 23:04:29 -07:00
Igor Vaynberg
afd353788b allow opts.dropdownCss to override css even after position. fixes #328 2012-08-16 22:54:14 -07:00
Igor Vaynberg
7b60524b35 do not open when clicked on a search choice. fixes #336 2012-08-16 22:25:10 -07:00
Igor Vaynberg
045bff7fe4 Merge pull request #341 from ryfeng/master
Recursive Match for local query
2012-08-16 22:15:12 -07:00
Igor Vaynberg
69567cd2cb Merge branch 'master' of github.com:ivaynberg/select2 2012-08-16 22:11:29 -07:00
ryfeng
476d5ace9a recursive match in local() 2012-08-17 02:11:16 -03:00
Igor Vaynberg
cf01ec6cb5 remove shrinking animation on choice remove because it causes jitter. fixes #326 2012-08-16 22:11:14 -07:00
19Gerhard85
d5b6d5fa78 Update select2.js 2012-08-16 18:11:47 +03:00
Igor Vaynberg
8bab0b6f70 always set the val on element so initSelection has access to it. fixes #337 2012-08-16 00:09:00 -07:00
19Gerhard85
35d61952f6 Fixed Bug: IE fires onbeforeunload event 2012-08-14 18:27:57 +03:00
Igor Vaynberg
816af4425b fix cursor position in select when opened with a char key press. fixes #323 2012-08-13 15:27:08 -07:00
Igor Vaynberg
4f6bf6cc81 added openOnEnter option. fixes #319 2012-08-13 14:51:56 -07:00
Igor Vaynberg
b7a3f957e3 dont open the dropdown on meta keys. fixes #314 2012-08-13 14:45:21 -07:00
sambomartin
31cc5ed40a Update select2.js
Added 'traditional' ajax parameter
2012-08-13 19:57:50 +02:00
Thierry Régagnon
9fd6f12380 Fix typing mistake: "fasle" instead of "false" 2012-08-09 12:49:03 +02:00
Igor Vaynberg
289226cf6c add a tokenizer so choices can be automatically created and selected while user is typing or pasting into the field. fixes #101 #81 #292 2012-08-08 19:33:24 -07:00
Maurus Cuelenaere
c2fa04529b Fix minimumResultsForSearch by recursively counting items
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-08-08 16:48:47 -07:00
Igor Vaynberg
4d3f8b6332 insert select2 container before element instead of after. better bootstrap compat. fixes #278 2012-08-07 22:31:36 -07:00
Igor Vaynberg
1ef57f86af added formatResultCssClass, fixes #288 2012-08-07 22:23:41 -07:00
Igor Vaynberg
ec31e105d8 remove the pesky BOM. fixes #306 2012-08-07 14:42:58 -07:00
Igor Vaynberg
e7dee23c08 reapply styles specified in dropdownCss option when dropdown is opened to ensure they do not get removed. fixes #305 2012-08-07 08:44:25 -07:00
Igor Vaynberg
220e50fd92 fix select2-more-result positioning. fixes #303 2012-08-07 08:21:18 -07:00
Igor Vaynberg
d92a572694 close on scroll and resize. fixes #149 2012-08-06 23:44:39 -07:00
Igor Vaynberg
921bf06434 fix and clean the new formatSearching() method. closes #301 2012-08-06 20:35:59 -07:00
bhoop
b593d06d58 Update select2.js
Add a "Searching" label state for AJAX data
2012-08-06 17:42:05 -03:00
Igor Vaynberg
3a1dcd14f3 remove default width of 25px from multiselect's search input 2012-08-05 13:02:39 -07:00
Igor Vaynberg
a7d0849d23 close any opened select2s when the window is scrolled or resized. fixes #296 and potentially #149 2012-08-04 11:28:02 -07:00
Igor Vaynberg
bc9867af0b change enter and delete key behaviors. fixes #295 2012-08-03 21:50:12 -07:00
Igor Vaynberg
15b654a170 support readonly attribute by disabling select2. fixes #293 2012-08-03 06:19:22 -07:00
Igor Vaynberg
b422d4efef fixed markup escaping. fixes #290 2012-08-02 21:50:02 -07:00
Igor Vaynberg
bef4af91f8 fixed opening and closing of dropdown when an element is removed from selection. fixes #287 2012-08-02 15:05:33 -07:00
Igor Vaynberg
84eb5b33fc fix for some selects not closing. fixes #286 2012-08-02 15:01:33 -07:00
Igor Vaynberg
dc339391f8 allow disabling of some messages by specifying a null formatter. fixes #280, #182 2012-07-30 13:49:34 +03:00
Igor Vaynberg
e2ea6faac7 allow url to be specified via data-ajax-url attribute. fixes #275 2012-07-30 13:32:29 +03:00
Kevin Brown
61603dacc0 Changed event handlers. Fixes #70
Changed to mouseup for displaying options.
Changed to mousedown for selecting options.

Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-29 07:28:11 +03:00
Igor Vaynberg
f2460a826e support null, undefined, false for data() to unselect. fixes #273 2012-07-27 19:00:17 +03:00
Igor Vaynberg
08bf83f1a4 renamed selection limit option and formatting function to better align with existing naming. #274 #59 2012-07-27 16:32:14 +03:00
Kevin Brown
4344fa054e Added support for limiting selection
Fixes #59

Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-27 16:04:24 +03:00
Igor Vaynberg
94e004ef8c respect source element's tabindex 2012-07-27 00:52:14 +03:00
Igor Vaynberg
38b9e935f0 do not hide search field when disabled because it also hides the placeholder. fixes #272 2012-07-27 00:46:32 +03:00
Igor Vaynberg
ab1a8b93bf some code cleanup. fixes #269 2012-07-26 08:59:51 +03:00
Igor Vaynberg
00058ab315 fix markup escaping. fixes #268 2012-07-26 08:47:10 +03:00
Igor Vaynberg
bb51eb7120 double escape markup populated via html() and append(). fixes #269 2012-07-25 14:08:25 +03:00
Igor Vaynberg
3e42cae401 after triggering change also trigger click to help some validation frameworks. closes #259. closes #262. 2012-07-25 08:11:42 +03:00
Igor Vaynberg
b3089218dc fix tracking of results under mouse. fixes #258 2012-07-25 00:55:53 +03:00
Igor Vaynberg
e620b54271 improved tabbing and tabindex support as well as minor focus management tweaks. fixes things broken by #256 2012-07-24 17:07:14 +03:00
Igor Vaynberg
5d496bd470 Merge branch 'master' of github.com:ivaynberg/select2 2012-07-24 15:10:45 +03:00
Igor Vaynberg
f06aae38fb better handling of tags that are not just strings. fixes #256 2012-07-24 15:10:31 +03:00
Kevin Brown
c58cd12829 Reworks search field. Fixes #239
Uses the correct EOLs now, fixes iPad keyboard issue.
2012-07-23 12:04:50 -04:00
Igor Vaynberg
116528908a clean up val. now it only accepts ids and only when initselection is set 2012-07-21 14:27:49 +03:00
Dean Sofer
ad8fd257aa Added truth checks to avoid unnecessarily firing initSelection.
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-21 12:14:17 +03:00
Dean Sofer
d54fd4dd0e Passing a string to select2('val') with initSelection causes it to be used.
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-21 12:14:17 +03:00
Igor Vaynberg
b672d760ac allow a custom function for computing the width. fixes #252 2012-07-20 21:24:34 +03:00
Igor Vaynberg
3fc1bc6f35 focus select2 on a click to a related label. fixes #198 2012-07-20 21:15:11 +03:00
Igor Vaynberg
37ff4bbf36 added close event. fixes #246 2012-07-20 17:28:15 +03:00
Igor Vaynberg
33fd9dc810 another tweak for positioning of dropdown and scrollbars. fixes #228 again 2012-07-20 17:12:58 +03:00
Igor Vaynberg
0d5be21e09 fix bug with determing the width. fixes #242 2012-07-20 00:56:37 +03:00
Igor Vaynberg
a718dc45a0 fix multiselects in IEs. fixes #241 2012-07-20 00:53:03 +03:00
Igor Vaynberg
1771c3ba61 fix bug where space was ignored in single selects. fixes #233 2012-07-19 11:13:02 +03:00
Igor Vaynberg
1fc09825ed tweak dropdown position. fixes #228 2012-07-19 11:08:09 +03:00
Igor Vaynberg
96c0166535 more flexible width strategies. fixes #237 2012-07-19 10:55:46 +03:00
Kevin Miller
17ffe5772e container receives width style when hidden input has one or via opt
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-19 01:12:43 +03:00
Igor Vaynberg
6c330eb53b fixes IE8 bug where the dropdown wouldnt open. it would actually open and close immediately because the body would get a focusin event even after the focus was set on the search field by select2. worked fine in IE9 2012-07-19 01:06:16 +03:00
Igor Vaynberg
633a6dc901 mark elements as selected when closeOnSelect is false so they cannot be selected again. fixes #229 2012-07-18 10:26:49 +03:00
Igor Vaynberg
ad9fac45ae make sure data() returns null instead of undefined when unset. this will prevent chaining which may seem weid. fixes #230 2012-07-18 09:56:02 +03:00
Igor Vaynberg
de0d11a82b position the dropdown after hiding selected elements so when above it doesnt float away from the control 2012-07-18 00:51:17 +03:00
Igor Vaynberg
39aa17a790 fixed above/below dropdown opening bug 2012-07-18 00:26:49 +03:00
Igor Vaynberg
3a830a2b81 make the option element available to the matcher function when attached to select. can be used to match on option attributes as well as option text. fixes #227 2012-07-17 16:39:57 +03:00
Igor Vaynberg
b731545eea Merge pull request #223 from malekpour/master
fix dropdown reopen on enter
2012-07-17 04:54:43 -07:00
Igor Vaynberg
33e8e20159 optimize global mousemove listener 2012-07-17 12:38:09 +03:00
Igor Vaynberg
0aea42fe42 give the sizer a higher offset just in case its on a highres screen 2012-07-17 12:10:46 +03:00
Igor Vaynberg
7947803df4 delay finding the body until it is needed and cache it. 2012-07-17 12:01:22 +03:00
Ali Malrkpour
01faae3ff7 fix updateResults prevention if dropdown is closed 2012-07-16 16:30:53 -04:00
Igor Vaynberg
3ed2cc091a fixed dropdown alignment in firefox. still need to test IE. #214 2012-07-16 19:38:02 +03:00
Igor Vaynberg
69758f0b71 added a little animation for removed multiselect choices 2012-07-16 14:10:56 +03:00
Igor Vaynberg
0c4888c6ef expose plugin defaults to make configuration easier. fixes #199 2012-07-16 12:25:12 +03:00
Igor Vaynberg
c17336d1ac rename tagSeparator to separator. #191 2012-07-16 11:35:04 +03:00
Grzegorz Kaczan
5aae33d789 Add the ability to specify custom tags separator.
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-16 11:32:02 +03:00
Igor Vaynberg
4489ab7769 clean up some comments 2012-07-16 11:24:55 +03:00
Ali Malrkpour
a3383141d5 fix body element caching for non attached elements 2012-07-15 23:20:56 -04:00
Igor Vaynberg
d6f506e16b more flexible format helpers. fixes #217 2012-07-16 00:22:44 +03:00
Igor Vaynberg
1605a631e5 reworked how dropdown is managed in singleselect so the search field has focus even when the dropdown is not opened and can capture te first keypress. fixes #196 2012-07-15 22:22:38 +03:00
Igor Vaynberg
06ec20dec6 improve keyup-change detection 2012-07-15 00:42:54 +03:00
Igor Vaynberg
6f973d6e40 formatSelection() can now return html string, dom, or jquery object in both multi and single select. #188 2012-07-14 23:35:57 +03:00
Mitko Tschimev
1a4b523871 -add possibility to return a jQuery object with formatSelection -the close event of the selection is now delegated to the class 'select2-search-choice-close' and not only the a tag
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
2012-07-14 23:22:08 +03:00
Igor Vaynberg
5a73385474 fixes #194 2012-07-14 09:23:21 +03:00
Igor Vaynberg
5859dc8149 possible fix for #205 2012-07-14 00:34:33 +03:00
Igor Vaynberg
4d79adf6ac make keyup-change event work with repeated backspace/delete keys. fixes #211. closes #212 2012-07-14 00:20:21 +03:00
Igor Vaynberg
482cc409ea dropdown can now open above or below control depending on available screens pace. fixes #120. based on #197 2012-07-11 12:33:38 +03:00
Igor Vaynberg
2c0344a520 take the outerwidth of the element when sizing so we include padding and border. fixes #213 2012-07-10 09:40:00 +03:00
Igor Vaynberg
0538bdcfa6 reposition the dropdown whenever results are changed. this is in preparation for open-on-top issue #197 2012-07-10 08:10:52 +03:00
Igor Vaynberg
48fe58dee3 better sizing of the input field in multiselect. fixes #203 2012-07-09 22:20:20 +03:00
Igor Vaynberg
a4d496281a fix input sizing when placeholder is set. fixes #192 2012-07-06 23:30:39 +03:00
Igor Vaynberg
77de06ecf3 improve percent width detection. issue #115 2012-07-06 12:13:12 +03:00
Igor Vaynberg
9c864f1da0 clear the ' ' placeholder on open 2012-07-05 11:24:36 +03:00
Igor Vaynberg
6a5719db80 added open event 2012-07-05 11:07:31 +03:00
Andy Fowler
ec08be78e4 jquery < 1.6 compatibility fix (:focus is unavailable) 2012-07-04 14:48:08 -04:00