2017-03-03 3 views
0

사용자가 셀을 편집 할 때마다 post 요소의 모든 행 데이터를 반환하는 방법을 찾고 있습니다. JQGRID는 serializeCellData의 row에서 모든 셀 값을 반환합니다.

현재 내가
serializeCellData: function(postdata) 
{ 
    postdata[site.csrf.keys.name] = site.csrf.name; 
    postdata[site.csrf.keys.value] = site.csrf.value; 
    postdata['po_id'] = id_po; 

    postdata['product_code'] = $("#order_details_grid").jqGrid('getCell',irowsel,'product_code'); 
    postdata['description'] = $("#order_details_grid").jqGrid('getCell',irowsel,'description'); 
    postdata['account_code'] = $("#order_details_grid").jqGrid('getCell',irowsel,'account_code'); 
    postdata['qty'] = $("#order_details_grid").jqGrid('getCell',irowsel,'qty'); 
    postdata['price_each'] = $("#order_details_grid").jqGrid('getCell',irowsel,'price_each'); 
    postdata['gst_each'] = $("#order_details_grid").jqGrid('getCell',irowsel,'gst_each'); 
    postdata['price_total'] = $("#order_details_grid").jqGrid('getCell',irowsel,'price_total'); 
    postdata['gst_total'] = $("#order_details_grid").jqGrid('getCell',irowsel,'gst_total'); 
    return postdata; 
}, 

을 가지고 있고 그것은 대부분 작동합니다. 그러나 방금 편집 한 하나의 셀은 HTML로 반환됩니다.

컨트롤러를 변경하여 포스트 이름과 값을 취할 수 있으므로 범용 코드가 될 수 있습니다. 그러나이 단계에서 나는 모든 가치를 전달하고자합니다.

코드가 많이 사용되지 않아 성능이 현 시점에서 큰 고려 사항이 아닙니다.

편집 중에 html이 아닌 동안 셀 값을 가져 오는 쉬운 방법은 무엇입니까?

+0

jqGrid의 버전과 jqGrid ([free jqGrid] (https://github.com/free-jqgrid/jqGrid), 상용 [Guriddo jqGrid JS]의 포크에 대한 정보를 모두 포함하십시오. http://guriddo.net/?page_id=103334) 또는 사용중인 (사용할 수있는) 이전 버전의 jqGrid를 사용하십시오. – Oleg

답변

0

serializeCellData 대신 beforeSubmitCell을 사용하여 서버로 보낼 정보를 확장하는 것이 좋습니다. beforeSubmitCell의 첫 번째 매개 변수는 rowid이며 반환 값은 추가 속성이있는 개체 여야합니다. 예 :

beforeSubmitCell: function (rowid) { 
    return $(this).jqGrid("getRowData", rowid); 
} 

또한 free jqGrid을 사용하는 것이 좋습니다. 버전 4.14.0부터는 getCellgetRowData 메서드는 편집 셀에서 데이터를 성공적으로 읽을 수 있습니다.

+0

오렐 감사합니다. 나는 이미 최신 버전이 아닌 jqgrid를 무료로 사용하고있다. – Paladin

+0

@ 팔라딘 : 천만에요! – Oleg

+0

을 최신 버전으로 업그레이드하고 수정했습니다. 고맙습니다 – Paladin