我有以下h:selectOneRadio
:
<h:selectOneRadio id="#{prefix}_rating" value="#{examinationPanel.tempResult}" >
<f:selectItems value="#{examinationPanel.options}"></f:selectItems>
</h:selectOneRadio>
然后,支持bean根据一些用户偏好加载选项:
public List<SelectItem> loadOptions (Set<ResultEnum> possibleResults){
List<SelectItem> options = new ArrayList<SelectItem>();
for(ResultEnum result:possibleResults){
SelectItem option = new SelectItem(result,messages.getString(result.name()));
options.add(option);
}
return options;
}
如何定义广播组中选项的快捷方式?例如,键入“1”选择第一个选项,键入“2”第二个,等等...
提前致谢! PS。我正在使用Jsf 1.2,Richfaces,Primefaces和Facelets。
答案 0 :(得分:3)
默认情况下,这不是内置的。您最好的度假胜地是使用JavaScript。将函数附加到keypress
的{{1}}事件,检查按下的键的<body>
,并相应地更改下拉列表的keyCode
项。这只能使用jQuery在几行中完成。这是一个SSCCE,只是复制'n'paste'n'run它。
selected
如果你想支持10个或更多项目,你需要保持一堆按下的键,立即应用它并引入超时来重置堆栈(1秒钟?)。
答案 1 :(得分:2)
您可以调查<rich:hotKey>
是否会有所帮助。简而言之,它允许您定义键盘快捷键,但它可能需要一些jQuery知识。
答案 2 :(得分:2)
PrimeFaces hotKey也可以提供帮助。