Eu tenho um nó adicionar formulário com uma referência de termo que usa o widget de preenchimento automático.
Eu quero a "descrição" do termo preenchido pelo usuário usando o widget de preenchimento automático.
javascript
ajax
sel_space
fonte
fonte
Drupal 7 e 8 fornecem a geração de eventos de preenchimento automático do jQuery sem nenhum código personalizado no momento.
No Drupal 7, o
autocompleteSelect
evento foi adicionado na edição Drupal # 365241 . (Clive mencionou que isso estava em andamento quando ele postou sua resposta.)O Drupal 8 usa o widget de preenchimento automático da UI do jQuery . O
autocompleteclose
evento é o evento da UI do jQuery mais semelhante aoautocompleteSelect
evento D7 . No D8, oautocompleteselect
evento da UI do jQuery também será acionado, mas um retorno de chamada do Ajax não receberá valores atualizados do estado do formulário.autocompleteclose
retornos de chamada são fornecidos com valores atualizados do estado do formulário, que geralmente é o que você deseja.Como as outras respostas indicaram, você pode usar os dados do evento no navegador do cliente usando um jQuery no manipulador de eventos ou Drupal.behaviors ( Drupal 7 , Drupal 8 ). No Drupal 7 você usaria o
autocompleteSelect
evento e no Drupal 8autocompleteclose
.Se você precisar do valor em seu código PHP, um retorno de chamada Ajax pode ser usado. Aqui estão algumas instruções de como fazer isso no Drupal 7 ou no Drupal 8 .
fonte
Eu precisava usar um comportamento para fazê-lo funcionar (graças ao problema mencionado por Clive e este comentário: https://www.drupal.org/node/365241#comment-9575707 ):
fonte
No Drupal 8, isso mudou. Você pode substituir a funcionalidade pelo código a seguir.
Substitui o código em
core/misc/autocomplete.js
.Então, no seu código, você pode ouvir
fonte