select2 allowClear not enabled when options set dynamically
As stated in the doc, allowClear
needs a placeholder
and placeholder
need a corresponding option
value (which cannot be an empty string, but can be a single space).
allowClear
This option only works when the placeholder is specified.
--
placeholder
Note that because browsers assume the first option element is selected in non-multi-value select boxes an empty first option element must be provided () for the placeholder to work.
So your code should be something like this :
$('#attribute').select2({
allowClear: true,
placeholder: "Select an attribute"
}).on('change', function() {
$('#value')
.removeClass('select2-offscreen')
.select2({
data:data[$(this).val()],
allowClear: true,
placeholder: "Select a value"
});
}).trigger('change');
http://jsfiddle.net/eGXPe/118/
'Select2: The allowClear
option should be used in combination ' +
'with the placeholder
option.'