Sunday, June 2, 2024
 Popular · Latest · Hot · Upcoming
122
rated 0 times [  125] [ 3]  / answers: 1 / hits: 48914  / 10 Years ago, wed, july 23, 2014, 12:00:00

I am trying to show selected values in select2-jquery component.



var select = $(.select2).select2({
multiple: true,
placeholder: ,
width:'100%',
data: z
});
var selectedValues = $(#sourceValues).val().split(',');

$.each( selectedValues, function(k,v){
$(.select2).select2('val',v);
})


Element sourceValues holds the value e.g : 2,4
And z is array of object that holds id and text as suggested.
I can see the <options> that is linked to the Select2 element but I am unable to show the selected values on the element.
Also, If I try to run the query on Chrome console it works , if I write something like ;



  $(.select2).select2('val',4) 


Hence, the <option> with the id 4 is selected.


More From » jquery

 Answers
12

Update (Select2 4.0+)



Since version 4.0, you should use .val(...) followed by trigger('change') from jQuery.



https://select2.org/programmatic-control/add-select-clear-items#selecting-options



Up-to-date example:



var selectedValues = $(#sourceValues).val().split(',');
$(.select2).val(selectedValues).trigger('change');

// $(.select2).val([1, 2]).trigger('change');


Original answer (Select2 3.5.3)



http://select2.github.io/select2/#documentation




val



Attached to select - Multi-Valued - Array of the value attributes of the
options that should be selected. null for empty.




So:



var selectedValues = $(#sourceValues).val().split(',');
$(.select2).select2('val',selectedValues);

// $(.select2).select2('val',[1, 2]);

[#70085] Monday, July 21, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
longd

Total Points: 616
Total Questions: 110
Total Answers: 101

Location: Andorra
Member since Sat, May 27, 2023
1 Year ago
;