jquery easyui datagrid保存时处理数据合法性:
//保存更改
$('#dg').datagrid('acceptChanges');
//处理输入的非法数据
var rows=$('#dg').datagrid('getRows');
for(var i=0;i<rows.length;i++){
var obj=rows[i];
//使用正则处理单价和数量去除非法字符
obj.buyprice=obj.buyprice.toString().replace(/[^\d.]/g,'');
obj.num=obj.num.toString().replace(/[^\d]/g,'');
//更新当前行
$('#dg').datagrid('updateRow',{index:i,row:obj});
}经测试存在bug,因为这里对数字的判断依赖了datagrid里的editor:{type:numberbox},改进后代码如下:
//保存更改
$('#dg').datagrid('acceptChanges');
//处理输入的非法数据
var rows=$('#dg').datagrid('getRows');
for(var i=0;i<rows.length;i++){
var obj=rows[i];
//使用正则处理单价和数量去除非法字符
obj.buyprice=Number(obj.buyprice.toString().replace(/[^\d.]/g,'')).toFixed(1);
obj.num=Number(obj.num.toString().replace(/[^\d]/g,'')).toFixed();
//更新当前行
$('#dg').datagrid('updateRow',{index:i,row:obj});
}

本文详细介绍了如何使用jQuery EasyUI Datagrid处理数据合法性,并提供了改进后的代码示例,解决了数字输入验证的bug。
254

被折叠的 条评论
为什么被折叠?



