我們經常會用到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];
只要獲取到一行的數據我們就可以獲取行中的任意一個值啦。