標籤:
在網上搜尋了很多代碼,發現一般都是使用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;}}}
easyui的numberbox如何輸入指定位元,超過指定位元允許輸入