Select2 Ajax Change Value

Describes the issue filed on Select2: https://github.com/select2/select2/issues/4034

by Shashank D

HTML

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script>
<select id="part-reference" class="select-dropdown" name="part-reference" style="width:200px;"></select>

<button id="get_value">
Get Value
</button>
<div style="margin: 10px;">
  Value: <span class="value"></span>
</div>

JavaScript

$(document).ready(function() {
$('#part-reference').select2({
        ajax: {
            url: function (params) {
                return '/echo/json';
            },
            dataType: 'json',
            type: "POST",
            delay: 300,
            allowClear: true,
           	data: function(params) {
                return {
                    json: '[{"id": 2, "text": "Two"}, {"id": 3,"text": "Three"}]',
                    delay: 0
                };
            },
            processResults: function (data, params) {
                return {
                    results: data
                };
            },
            cache: true
        }
    });

	$('select#part-reference').on('select2:select', function () {
  	$('span.value').html($(this).val());
  });
  // get value
  $('#get_value').click(function () {
    alert("Value: " + $('#part-reference').val());
  });
});