This is a couple of months old, and resolved, but I was also trying to sort out the “Cannot read property ‘select’ of undefined’ issue in the /wp-includes/js/wplink.js script (which is the one that load-scripts.php is handling in this case).
What wplink.js is not finding are the HTML elements that are rendered along with a tinymce editor. I had assumed that the enqueue scripts mentioned above would do this.
In my case, I wanted to use the link editor in a widget that belongs to a plugin. There is no editor rendered on this page so I got the same error as rubious.
My widget happened to need an editor I just hadn’t gotten to dealing with that yet and it was still just a text input. After putting one in (with wp_editor(”, ‘unique_id’, array(‘editor_class’=>’hidden’));). Everything worked.
Why the hidden class? In the end I decided I didn’t want an editor, just a textarea for my widget. So I rendered the editor (not in the Widget anymore but just once for the whole admin page) hidden because I still wanted the HTML for the link editor to be rendered. I then had to hide the HTML element with the id ‘wp-unique_id-wrap’ (the same unique_id as in wp_editor) because the class in wp_editor only applies to the input field in the editor not the controls etc surrounding it (making the array argument for wp_editor redundant really).
So… if anyone is having this issue try ensuring an editor is present on your page. I’ve no idea why enqueueing the scripts didn’t do it but hey. It probably just includes the wplink.js javascript. Who knows, everyone else might be doing this in pages that happen to have an editor.
Do not be tempted to manually place the link editors’ HTML in your page in an effort to avoid having a whole editor. Just… don’t.