edatagrid有诸多源码级问题,使用datagrid去模仿,有时候加载控件过多会导致页面卡死。所以自己实现然后在输入框中再调用。
//数量和价格输入框的控制
var quantityOrPriceEdit = function(index,field,value){
var ed = $CommonUI.getDataGrid('#drugInTable').datagrid('getEditor', {index:index,field:''+field+''});
$(ed.target).keyup(function(){
//简单实现numberbox功能
if(this.value.indexOf(".")==this.value.lastIndexOf(".")){
$(ed.target).val($(ed.target).val().replace(/[^\d.]/g,''));
if(this.value.indexOf(".")!=-1){
this.value = this.value.substr(0, this.value.indexOf(".")+3); //小数点后两位
}
}else{
this.value = this.value.substr(0, this.value.length - 1);
}
this.value = this.value.substr(0, 8);//长度8位
quantityChanged();
});
// 当焦点失去时,注销绑定事件(避免绑定多次造成多次调用函数),移除焦点(不移除焦点再次输入时,已经没有绑定keyup事件)
$(ed.target).focusout(function(){
$(this).unbind();//移除绑定事件
$(this).blur();//丢失焦点以后移除焦点
});
};
(function (jQuery) {
$(this).css("ime-mode", "disabled");jQuery.fn.spif_numberbox = function(paraments){
$(this).css("ime-mode", "disabled");
this.bind("keypress",function(e) {