easyui的numberbox如何輸入指定位數,超過指定位數不容許輸入

在網上搜索了不少代碼,發現通常都是使用replace或者是window.event.returnValue,不知道是個人使用方法不對,仍是代碼什麼地方寫錯了,總感受不怎麼好用,後面發現numberbox自帶的filter在禁止輸入的時候很是好用.
ui

請看代碼:this

        功能:在顯示的時候只能是兩位小數,在輸入的時候若是已經有兩位小數,那麼禁止輸入
code

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;
		}
	}
}
相關文章
相關標籤/搜索