[英]Richfaces: limit rich:comboBox to values of the value list
我的頁面中有以下簡單的comboBox。
<rich:comboBox value="#{groupConfig.group}"
styleClass="userCombo"
filterNewValues="false"
directInputSuggestions="true">
<f:selectItems value="#{
workflowConfigCtrl.groupsFor(groupConfig,appNode.approvalTier)
}" />
</rich:comboBox>
它的工作異常出色,但可悲的是,它允許輸入不屬於proposalList的值(這很有意義,因為我啟用了直接文本輸入。
我希望啟用直接文本輸入,以便用戶可以使用建議列表進行快速過濾(從一個龐大的組列表中,該列表可以包含100個組)。
同時,我不希望用戶輸入不在列表中的值。 當前方法檢查用戶何時保存整個表單。 有什么辦法可以更早地限制它?
我嘗試使用javascript onblur =處理程序來執行此操作,但是我找不到在dom中保存selectItem列表的位置。
您可以使用來訪問javascript中的comboBox列表
#{rich:component('myComboBoxId')}.comboList.itemsText
和/或
#{rich:component('myComboBoxId')}.comboList.itemsValue
然后使用jQuery.inArray()
驗證項目是否在列表中。
您應該能夠通過指定其ID來訪問DOM中的此組合框,如以下示例所示。
<rich:comboBox value="#{groupConfig.group}"
id="UniqueID"
styleClass="userCombo"
filterNewValues="false"
directInputSuggestions="true">
<f:selectItems value="#{
workflowConfigCtrl.groupsFor(groupConfig,appNode.approvalTier)
}" />
</rich:comboBox>
然后,您可以使用document.getElementById("UniqueID")
在DOM中進行訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.