Skip to content
On this page

自定义鼠标触发

很多业务会用到填写后自动计算情境。系统支持2种方式实现:一种是针对input控件,可以定义鼠标离开blur方法实现;一种是利用拓展js对控件进行绑定,但是仅form编辑时可用;

  • 针对input控件,可以定义鼠标离开blur方法实现:

可以在自定义js页面里定义一个blur方法,然后注册到字段明细里的blur属性里重新生成页面即可;

例如:单价*数量=金额

avatar

系统内置了这个方法,只需要定义对应的字段名字即可。

方法源码如下:

javascript
//blur计算合计值
functioncomputeMoney(pricecol,numcol,moneycol){
//form页面
if(editIndex==-1){
varprice=$("input[name='"+pricecol+"']").val();
varnum=$("input[name='"+numcol+"']").val();
if(price==null||price=="")price="0";
if(num==null||num=="")num="0";
$("input[name='"+moneycol+"']").val(Math.round(price*num*100)/100.0);

}else{//grid页面
//js.showMessage(JSON.stringify(row));
varrows=$table.bootstrapTable('getData',{useCurrentPage:true,includeHiddenRows:true});
varprice=getTableTdValBbyIndex(editIndex,pricecol);//rows[editIndex][pricecol];
varnum=getTableTdValBbyIndex(editIndex,numcol);//rows[editIndex][numcol];
if(price==null||price=="")price="0";
if(num==null||num=="")num="0";
varmoney=(Math.round(price*num*100)/100.0);
rows[editIndex][moneycol]=money;
setTableTdValBbyIndex(editIndex,moneycol,money);
rows[editIndex]["isUpdateData"]="1";//标记记录被修改
}
}

下面是内置的最大最小值限制方法:

javascript
//数值最大值,最小值限制

functioncompareVal(computecol,minval,maxval){

//form页面

if(editIndex==-1){

varval=$("input[name='"+computecol+"']").val();

if(val==null||val=="")val="0";

if(minval!=null&&minval!=""){

if(val<minval)alert("输入值必须大于【"+minval+"");

}

if(maxval!=null&&maxval!=""){

if(val>maxval)alert("输入值不能大于【"+maxval+"");

}

}else{//grid页面

varrows=$table.bootstrapTable('getData',{useCurrentPage:true,includeHiddenRows:true});

varval=getTableTdValBbyIndex(editIndex,computecol);//rows[editIndex][pricecol];

if(val==null||val=="")val="0";

if(minval!=null&&minval!=""){

if(val<minval)alert("输入值必须大于【"+minval+"");

}
if(maxval!=null&&maxval!=""){

if(val>maxval)alert("输入值不能大于【"+maxval+"");
}
}
}
  • 利用拓展js对控件进行绑定,但是仅form编辑时可用