Hi @PowerPat
Most likely, this is a timing issue. I would wrap the formula in a call to the jQuery ready function.
$(document).ready(function(){
var favouriteColour = $('#cre23_widgetcolor');
favouriteColour.hide();
var multiselect = $('<select multiple><option value="948180000">Red</option><option value="948180001">White</option></select>');
multiselect.insertAfter(favouriteColour);
multiselect.change(function() {
favouriteColour.val($(this).val());
});
});
This works for me.

The other thing to do is to make sure to set this line correctly so that it matches your field name.
$('#cre23_widgetcolor');