カスタムのオートコンプリート ボックスを作成しようとしていますが、問題が発生しています。現在、キーダウン時にこの関数を呼び出す入力があります
function pingAutoComplete(event)
{
console.log("pingAutoComlete Called");
window.clearTimeout(window.keyTimeout);
//Wait 2 seconds before we attempt to pingAutoComplete incase user has not finished typing
window.keyTimeout = setTimeout(function() {
jsf.ajax.request(event, "keydown", {execute:'searchTerm',render:'autoCompletePanel'})
autoCompleteLayoutPanel.show();
return false;
}, 2000);
return false;
}
オートコンプリート パネルには、次のような一連の選択が含まれています。
<h:selectOneListbox id="vehicleResult" title="Vehicles"
value="#{searchBean.searchTerm}"
converter="entityConverter"
required="false"
rendered="#{!searchBean.filterAutoComplete().isEmpty()}">
<f:selectItems value="#{searchBean.filterAutoComplete()}"
var="searchItem" itemValue="#{searchItem}"
itemLabel="#{searchItem.displayString}"
itemLabelEscaped="true" />
</h:selectOneListbox>
javascript が呼び出されると、バックエンドで searchBean.filterAutoComplete() にヒットしているように見えますが、実際には GUI の選択リストを更新していません。理由を知っている人はいますか?