I'm working with the awesome select2 control.
I'm trying to clean and disable the select2 with the content too so I do this:
$("#select2id").empty();
$("#select2id").select2("disable");
Ok, it works, but if i had a value selected all the items are removed, the control is disabled, but the selected value is still displayed. I want to clear all content so the placeholder would be showed. Here is a example I did where you can see the issue: http://jsfiddle.net/BSEXM/
HTML:
<select id="sel" data-placeholder="This is my placeholder">
<option></option>
<option value="a">hello</option>
<option value="b">all</option>
<option value="c">stack</option>
<option value="c">overflow</option>
</select>
<br>
<button id="pres">Disable and clear</button>
<button id="ena">Enable</button>
Code:
$(document).ready(function () {
$("#sel").select2();
$("#pres").click(function () {
$("#sel").empty();
$("#sel").select2("disable");
});
$("#ena").click(function () {
$("#sel").select2("enable");
});
});
CSS:
#sel {
margin: 20px;
}
Do you have any idea or advice to this?
In order to clear the selection of those values which are selected using a Select2 drop down,we can use the empty() function. The dropdown can be reset using Jquery. $("#select2_example"). empty();
select2(); Below is code for getting selected value. $("#first"). select2('val'); // It returns first,second,three.
Whenever you alter or change a value in select2 try to use the trigger ("change")
:
$('#sel').empty().trigger("change");
Try this from official select2 documentations.
version 4
$("#sel").val(null).trigger("change");
For version 3.5.3
$("#sel").select2("val", "");
To clean completely a select2
(>= v4) component:
$('#sel').val(null).empty().select2('destroy')
select
form dataselect
optionsselect2
pluginThen you can create a new select2
component with the same select HTML node if you want.
I'm using Select2 v4.0 (4.0.6-rc.0)
Using the following clears all of the values in the dropdown field:
$('#id_of_select2_select').empty();
Doing this removes them entirely and they cannot be re-selected until the page refreshes.
If all you want to do is remove the selection, do the following:
$('#id_of_select2_select').val(null).trigger('change');
The currently selected options are cleared and the user will be able to re-select their intended options.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With