コンボボックスはまたテキストボックスであるので、リスナを加える場合、onChangingイベントは送信されます。このイベントを監視することで、Google Suggests[42]がしているように、ドロップダウンリストを処理します。この機能はオートコンプリートと呼ばれます。
以下に説明したように、ユーザーが入力しているものに基づいて、ドロップダウンリストを埋めることができます。
<combobox id="combo" autodrop="true" onChanging="suggest()"/> <zscript> void suggest() { combo.getItems().clear(); if (event.value.startsWith("A")) { combo.appendItem("Ace"); combo.appendItem("Ajax"); combo.appendItem("Apple"); } else if (event.value.startsWith("B")) { combo.appendItem("Best"); combo.appendItem("Blog"); } } </zscript>
onChangingイベントが受信されたとき、コンボボックスのコンテンツはまだ変更されていません。このため、コンボボックスのvalueプロパティを使用できません。それよりも、イベント(org.zkoss.zk.ui.event.InputEvent)のvalueプロパティを使うべきです。