Sería bueno especificar que biblioteca de javascript estás usando para poder ayudarte.
Por el nombre y forma que usas el método me imagino que será el de
jQuery UI.
Cabe decir que la forma en que aplicas el evento onselect, es incorrecta. En jQuery los eventos no se usan así. Pues lo que estás haciendo es tratar de asignarle una función a un método que ya está definido, en jQuery la función que se realiza en un evento se pasa como argumento al método, algo que se conoce como "callback".
Sin embargo, mirando la documentación de jQuery, tal parece que el onSelect, no es precisamente un evento (aunque quizás sí lo dispare, no lo he probado), sino una opción, por lo tanto sería mejor asignrlo dentro del método datepicker.
Algo así.
$(function() {
$( "#datepicker" ).datepicker({
changeMonth: true,
changeYear: true,
onSelect: function(date, inst){
$( "#valor" ).html( $(this).val() );
}
});
Algo que te ayudará bastante es mirar la consola de errores de javascript.
PD: Revisa el ámbito del this no estoy seguro de que this contenga lo que esperas.