Saya memiliki simpul menambahkan formulir dengan referensi istilah yang menggunakan widget autocomplete.
Saya ingin "tid" dari istilah yang diisi oleh pengguna menggunakan widget autocomplete.
javascript
ajax
sel_space
sumber
sumber
Drupal 7 dan 8 menyediakan pembuatan acara autocomplete jQuery tanpa kode khusus saat ini.
Di Drupal 7,
autocompleteSelect
acara ditambahkan dalam masalah Drupal # 365241 . (Clive menyebutkan ini sedang berlangsung ketika dia memposting tanggapannya.)Drupal 8 menggunakan widget autocomplete jQuery UI . The
autocompleteclose
event adalah event jQuery UI yang paling mirip dengan D7autocompleteSelect
acara. Di D8 UI jQueryautocompleteselect
juga akan dipicu tetapi panggilan balik Ajax tidak akan menerima nilai status formulir yang diperbarui.autocompleteclose
panggilan balik diberikan dengan nilai status formulir yang diperbarui, yang biasanya Anda inginkan.Seperti jawaban lain telah ditunjukkan, Anda dapat menggunakan data acara di browser klien menggunakan jQuery on event handler, atau Drupal.behaviors ( Drupal 7 , Drupal 8 ). Di Drupal 7 Anda akan menggunakan
autocompleteSelect
acara tersebut, dan pada Drupal 8autocompleteclose
.Jika Anda membutuhkan nilai dalam kode PHP Anda, panggilan balik Ajax dapat digunakan. Berikut adalah beberapa petunjuk tentang cara melakukan ini di Drupal 7 atau di Drupal 8 .
sumber
Saya perlu menggunakan perilaku untuk membuatnya berfungsi (berkat masalah yang disebutkan oleh Clive, dan komentar ini: https://www.drupal.org/node/365241#comment-9575707 ):
sumber
Di Drupal 8 ini telah pindah. Anda dapat mengganti fungsionalitas dengan kode berikut.
Mengganti kode dalam
core/misc/autocomplete.js
.Kemudian dalam kode Anda, Anda dapat mendengarkan
sumber