jquery动态计算编辑状态或非编辑状态值的和
来源:互联网 发布:淘宝没有扣分的违规 编辑:程序博客网 时间:2024/06/05 11:37
我们经常会遇到一个这样的问题:动态的添加值并计算值的总和显示(包含新增、修改、删除)。通常有两种最常用的方法:
其实仔细比较就会发现:一个是获取编辑状态的值:var ed = $('#cost_list').datagrid('getEditor', {index:index,field:'project_cost'});//通过字段名称获取编辑器 var pay = $(ed.target).val();//获取字段值 一个是获取编辑状态关闭的值,本人总体感觉第一种方法比较灵活。
1.起初所有行都处于编辑关闭状态,当点击某一行开始编辑这一行数据,并为这一行添加失去焦点事件,当失去焦点时关闭编辑器,并获取值进行计算:
例:
var now_index = 0;
//添加单击事件
onClickRow: function(rowIndex, rowData){
var oldCost = rowData.project_cost;//获取项目成本旧值
now_index = rowIndex;$('#cost_list').datagrid('selectRow', rowIndex).datagrid('beginEdit', rowIndex);//开始编辑某行
var ed = $('#cost_list').datagrid('getEditor', {index:rowIndex,field:'project_cost'});//获取当前的编辑器
ed.target.bind('blur', function () {//绑定失去焦点事件
$('#cost_list').datagrid('endEdit', rowIndex);//结束编辑
var cost = rowData.project_cost;//获取勾选行填写的值
if(cost == null || cost == '' || cost == undefined){
cost = 0;
}
var cost_sum = $('#cost_sum').html();//获取项目成本金额
if(cost_sum == null || cost_sum ==undefined || cost_sum == ''){
cost_sum = 0;
}
if(oldCost > cost){
var subCost = parseFloat(parseFloat(oldCost) - parseFloat(cost)).toFixed(2);
var totalCost = parseFloat(parseFloat(cost_sum) - parseFloat(subCost)).toFixed(2);//计算累计项目成本金额
$('#cost_sum').html(totalCost);
}else if(oldCost < cost){
var subCost = parseFloat(parseFloat(cost) - parseFloat(oldCost)).toFixed(2);
var totalCost = parseFloat(parseFloat(cost_sum) + parseFloat(subCost)).toFixed(2);//计算累计项目成本金额
$('#cost_sum').html(totalCost);
}
});
}
2.起初所有的行都处于编辑状态,并新增的行也处于编辑状态,填写值后获取直接获取值经行计算,到最后一步保存的时候关闭所有行的编辑状态:
例:
var cost = $('#cost_sum').html();//获取累计项目成本金额if (cost == null || cost == '' || cost == undefined) {
cost = 0;
}
var ed = $('#cost_list').datagrid('getEditor', {index:index,field:'project_cost'});//通过字段名称获取编辑器
var pay = $(ed.target).val();//获取字段值
var month = $('#cost_list').datagrid('getEditor', {index:index,field:'cost_month'});
var monthValue = $(month.target).datebox('getValue');//获取日期编辑器的值
if (pay == null || pay == '' || pay == undefined) {
pay = 0;
}
var cost_sum = parseFloat(parseFloat(cost) - parseFloat(pay)).toFixed(2);
$('#cost_sum').html(cost_sum);
0 0
- jquery动态计算编辑状态或非编辑状态值的和
- 关于 GridView1的编辑状态和非编辑状态取值 GridViewEditEventArgs e ,GridViewCancelEditEventArgs e
- jQuery获取编辑状态的值
- EditView不可编辑状态和可编辑状态动态切换 及 EditView的其它特效
- 动态设置EditText的可编辑状态
- 编辑的状态
- UITableVIew的编辑状态
- jquery表单可编辑状态
- GridView行的显示和编辑状态
- 不同类型的可编辑状态
- bootstrap editable 动态改变列的编辑状态
- bootstrap editable 动态改变列的编辑状态
- 怎样将DevExpress中的GridView的某一个单元格的状态设置为编辑或不可编辑
- 关于jquery jqgrid 列编辑状态时获得值
- EXCELSHEET 中"输入”或“编辑”状态与“就绪”状态的切换
- EditText设置可以编辑和不可编辑状态
- android_EditText设置可以编辑和不可编辑状态
- android_EditText设置可以编辑和不可编辑状态
- hdu3371 prim算法求最小生成树
- ToDoList
- Myeclipse 使用JDBC添加员工信息
- java Object类占用内存大小计算
- _DataStructure_C_Impl:AOE网的关键路径
- jquery动态计算编辑状态或非编辑状态值的和
- HDU 5353(Average-贪心分果)
- hdu 2190 悼念512汶川大地震遇难同胞——重建希望小学 (递推)
- java网络通信编程
- 黑马程序员——Java基础---异常,IO流,File类
- Android技能杂谈——如何优雅的处理控件的点击事件
- 1051. Pop Sequence (25)
- 看门狗定时器学习笔记
- Hello JSP!——指令元素之include篇