我有一些代码如下(工作正常)
<pe:inputNumber
value="#{myBean.myVal}"
minValue="0" maxValue="999999999999999.999999999"
emptyValue="1"
thousandSeparator="."
decimalSeparator=","
/>
然后,如果我输入[1],它将显示[1000000000],我的问题是太多的零可能会混淆我的用户。是否对此输入进行修剪,只显示用户输入的任何内容,如[1,20] -> [1,2] or [1,20]
我的脚本:
function trimDecimalPlace(){
var curVal = $(".ui-inputNum > input:first-child").val();
var parseVal = '';
if(curVal.indexOf(".") > curVal.indexOf(",")){
var tokens = curVal.split(".");
var decimalVal = parseFloat("0."+tokens[1])+"";
if(decimalVal != "0"){
parseVal = tokens[0]+"."+decimalVal.substring(2);
}else{
parseVal = tokens[0];
}
}else{
var tokens = curVal.split(",");
var decimalVal = parseFloat("0."+tokens[1])+"";
if(decimalVal != "0"){
parseVal = tokens[0]+","+decimalVal.substring(2);
}else{
parseVal = tokens[0];
}
}
$(".ui-inputNum > input:first-child").val(parseVal);
}
并称之为模糊:
<pe:inputNumber
value="#{myBean.myVal}"
minValue="0" maxValue="999999999999999.999999999"
emptyValue="1"
onblur="trimDecimalPlace();"
thousandSeparator="."
decimalSeparator=","
/>
您可以使用decimalPlaces
属性。默认值是从maxValue
属性中获得的,因此在您的情况下,它是999999999999999。999999999.
只需使用标记padControl="false";带输入数字控制
<p:inputNumber style="width:140px;"
value="#{mopEdicionBean.permisoMop.mopKlmtFinalB}"
thousandSeparator="" decimalPlaces="3" maxlength="4" minValue="0"
maxValue="9999" size="16" padControl="false">
<p:ajax event="change" update="nombre_permiso"/>
</p:inputNumber>