Are there callbacks for elementSelect macro?
You can get the Element Select’s JS instance like so:

$(document).ready(function() {
  var elementSelect = $('#your-container-id').data('elementSelect');
});


(Replace your-container-id with whatever ID you passed into the id param when calling forms.elementSelect or forms.elementSelectField.)

Then you can attach a selection callback to that:

elementSelect.on('selectElements', function(elements) {
  // ...
});


There’s also a 'removeElements' callback function you can add.