我很想知道如果有一些字段为空,如何通过jQuery检查。如果是,我会显示一个对话框。
我正在尝试类似的事情:
$('input:text').each(function( index ) {
if( $(this).val().length == 0){
...
}
});
不幸的是,我看到<p:selectOneMenu>
值始终是""
,或者p:selectOneRadio
是什么?
答案 0 :(得分:1)
PrimeFaces中的每个组件都有自己的方式来检查值是否为空。
考虑到这一点,我将发布如何检查inputText中的空值,selectOneMenu,selectOneRadio in&#34;几乎&#34;通用方式。
for (var propertyName in PrimeFaces.widgets) {
if (PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.InputText) {
if(PrimeFaces.widgets[propertyName].jq.val().length == 0) {
PrimeFaces.widgets[propertyName].jq.css('background', 'red')
}
} else if(PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.SelectOneRadio) {
if(PrimeFaces.widgets[propertyName].checkedRadio.length == 0){
PrimeFaces.widgets[propertyName].jq.css('background', 'red')
}
} else if(PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.SelectOneMenu) {
if(PrimeFaces.widgets[propertyName].getSelectedValue() == '') {
PrimeFaces.widgets[propertyName].jq.parent().css('background', 'red')
}
}
}
基本上我们迭代我们在页面中的PrimeFaces的小部件,并确定我们如何根据组件的类型检查值。
现在要扩展这一点,您需要编写每个组件的验证方法。
可以在github找到一个小工作示例。还有online Demo。
希望这有帮助。
答案 1 :(得分:0)
也许是这样的:
$('input:text').each(function( index ) {
if( $(this).val().length == 0 || $.trim($(this).val()) == ""){
alert("empty");
}
});