我的页面中有以下简单的组合框.
<rich:comboBox value="#{groupConfig.group}"
styleClass="userCombo"
filterNewValues="false"
directInputSuggestions="true">
<f:selectItems value="#{
workflowConfigCtrl.groupsFor(groupConfig,appNode.approvalTier)
}" />
</rich:comboBox>
Run Code Online (Sandbox Code Playgroud)
它工作得非常好,但遗憾的是它允许输入不属于suggestionList的值(这是有意义的,因为我启用了直接文本输入.
我希望启用直接文本输入,以便用户可以使用建议列表快速过滤(从一个巨大的组列表,可以包含几个100组).
同时我不希望用户输入不在列表中的值.当前方法检查用户何时保存整个表单.有没有办法提前限制它?
我尝试使用javascript onblur = handler来完成它,但我找不到在dom中保存selectItem列表的位置.
小智 3
您可以使用 javascript 访问组合框列表
#{rich:component('myComboBoxId')}.comboList.itemsText
Run Code Online (Sandbox Code Playgroud)
和/或
#{rich:component('myComboBoxId')}.comboList.itemsValue
Run Code Online (Sandbox Code Playgroud)
然后用于jQuery.inArray()验证该项目是否在列表中。
| 归档时间: |
|
| 查看次数: |
2085 次 |
| 最近记录: |