我们经常会用到datagrid的editor,这个编辑器提供了一些非常方便的方法,让我们灵活应用。例:我们在添加一行数据的时候想动态的改变这一行的某一个值,这时用editor是非常的方便的,我们可以获取编辑状态的值(编辑器没有关闭)经行处理加工。当然也可以获取编辑器关闭之后的值,这个就要根据你的具体情况来啦。
下面我来说说如何获取编辑器的值:
1.编辑器没有关闭的时候获取实时输入的值:
例:columns:[[{
field:'used_num',
title:'请购数量',
align:'center',
width:80,
editor:{type:'numberbox',options:{min:0,precision:0,required: true,onChange:function(){calculateTotal();}}}
}, {
field : 'unitprice',
title : '物资价格',
align : 'center',
width:80,
editor:{type:'numberbox',options:{min:0,precision:0,required: true,onChange:function(){calculateTotal();}}}
}]],
我添加了两个编辑器,而且都是数值类型的,当值改变的时候调用calculateTotal()方法,该方法获取编辑器的值并经行相应的加工和处理。
function calculateTotal(){
//计算小计和合计
var ed = $('#device_list').datagrid('getEditor', {index:now_index,field:'unitprice'});//获取编辑器
var unitprice = $(ed.target).val();//获取编辑器的值
var ed1 = $('#device_list').datagrid('getEditor', {index:now_index,field:'used_num'});//获取编辑器
var amount = $(ed1.target).val();//获取编辑器的值
}
2.编辑器关闭的时候获取实时输入的值:
编辑器关闭后我们可以获取一行数据 var row = $('#device_list').datagrid('getChecked'); var data = row[0];
只要获取到一行的数据我们就可以获取行中的任意一个值啦。