Solución:
No se activa ningún evento en este momento (a partir de 7.34), pero hay un parche sobre este problema que debería permitirle usar algo como:
$('#input-id').on('autocompleteSelect', function(event, node) {
});
o si está usando una versión anterior de jQuery
$('#input-id').bind('autocompleteSelect', function(event, node) {
});
Dónde node
es el elemento seleccionado. Debería poder obtener el tid
de una de las propiedades de ese objeto.
Drupal 7 y 8 proporcionan la generación de eventos de autocompletado de jQuery sin ningún código personalizado en este momento.
En Drupal 7, el autocompleteSelect
El evento se agregó en el número de Drupal # 365241. (Clive mencionó que esto estaba en progreso cuando publicó su respuesta).
Drupal 8 usa el widget de autocompletado de jQuery UI. los autocompleteclose
event es el evento jQuery UI más similar al D7 autocompleteSelect
evento. En D8 la interfaz de usuario de jQuery autocompleteselect
El evento también se activará, pero una devolución de llamada Ajax no recibirá los valores de estado de formulario actualizados. autocompleteclose
las devoluciones de llamada se proporcionan con valores de estado de formulario actualizados, que generalmente es lo que desea.
Como han indicado las otras respuestas, puede hacer uso de los datos de eventos en el navegador del cliente utilizando un controlador de eventos de jQuery o Drupal.behaviors (Drupal 7, Drupal 8). En Drupal 7 usarías el autocompleteSelect
evento, y en Drupal 8 autocompleteclose
.
Si necesita el valor en su código PHP, se puede usar una devolución de llamada Ajax. Aquí hay algunas instrucciones sobre cómo hacer esto en Drupal 7 o en Drupal 8.