在网上搜索了很多代码,发现一般都是使用replace或者是window.event.returnValue,不知道是我的使用方法不对,还是代码什么地方写错了,总感觉不怎么好用,后面发现numberbox自带的filter在禁止输入的时候非常好用.
请看代码:
功能:在显示的时候只能是两位小数,在输入的时候如果已经有两位小数,那么禁止输入
JSP代码: <input name="object.fixRate" class="easyui-numberbox _fixRate" onkeyup="setFixRate(this,event)" data-options="required: true,precision:2" style="width:30px;text-align: right;"/> JS代码: function setFixRate(tt,event){ // var value = $(‘._fixRate‘).numberbox(‘getValue‘);//不能使用numberbox的getValue,这个是隐藏框的值 //如果有小数点 var value = $(‘._fixRate‘).val();//这个才是输入框的值 if(value.indexOf(".") >= 0){//如果包含小数点 if((value.substring(value.indexOf(".")+1).length) >=2){//如果小数位数已经有两位 // window.event.returnValue = false; // $(‘._fixRate‘).val(value.replace(/^(\-)*(\d+)\.(\d\d).*$/,‘$1$2.$3‘)); // $(‘._fixRate‘).numberbox(‘filter‘,false); $(‘._fixRate‘).numberbox(‘options‘).filter = function(){ //让filter返回false会禁止按键输入 return false; }; }else{ //记得写else,否则该nunberbox将不允许再次输入了 $(‘._fixRate‘).numberbox(‘options‘).filter = function(){ return true; } } }
时间: 2024-12-23 05:38:03