我正在使用p:selectOneMenu
来显示数据。我使用filter="true"
和filterMatchMode="startsWith"
来过滤数据:
<p:selectOneMenu id="mun" value="#{list}" converter="#{lookupConverter}"
filter="true" filterMatchMode="startsWith"
validator="#{validate}">
<p:ajax listener="#{getAll}" update="plac"/>
<f:selectItem itemLabel="#{msg['choose.value']}" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{municipalities}"
var="m"
itemValue="#{m}"
itemLabel="#{m.description}"/>
</p:selectOneMenu>
我喜欢当用户开始在文本框中键入onkeyup事件时输入的文本为大写。
编辑:
当我说文本框时,我的意思是在这个红色方块上:
答案 0 :(得分:0)
当您检查放置菜单的页面时,您可以看到输入过滤器具有或多或少的后续ID:
j_idt88:advanced_filter
基于此以及此输入将始终以advanced_filter
为后缀的事实..您可以编写您的javascript代码:
<script>
document.addEventListener('DOMContentLoaded', function() {
addAdvancedFilterActions();
}, false);
var addAdvancedFilterActions = function(){
var elements = document.querySelectorAll('[id$=advanced_filter]');
for (var key in addAdvancedFilterActions) {
var input = addAdvancedFilterActions[key];
input.addEventListener('keyup',function(){
upper(input);
},false);
}
};
var upper = function(input){
var inputValue = input.value;
document.writeIn(inputValue.toUpperCase())
};
</script>
这将遍历页面上的所有输入,并应用upper函数。试一试