[英]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.