편집된 jqgrid의 값을 가져오는 방법
jqGrid의 소스 코드를 참고하면, getRowData의 구현 방법은 td의 innerhTML을 얻기 위해 tr을 순회하는 것입니다. getRowData는 셀 및 행 편집 모드에서 영향을 받지만 양식 편집 모드에서는 양식이 jqGrid를 직접 수정하여 입력 개체를 생성하지 않고 새 컨트롤에 편집 개체를 생성하므로 문제가 없습니다. getRowData가 html 코드가 포함된 내용이 아닌 셀 및 행 편집 모드에서 실제 데이터 행을 반환하도록 하려면 다음을 참조하면 됩니다.
셀 편집을 위해서는 먼저 셀을 복원하거나 저장한 후 getRowData 메소드를 호출해야 합니다. 구현은 다음과 같습니다.
1 그리드에 beforeEditCell 이벤트를 추가합니다. 두 개의 창 필드를 선언합니다. 변수는 셀의 행 번호와 열 번호를 기록합니다. beforeEditCell: function (rowid, cellname, v, iRow, iCol) { lastrow = iRow; lastcell = iCol } 2. 데이터를 얻기 위해 getRowData를 호출하기 전에; 셀 저장/복원 $ ("#grid").jqGrid("saveCell", lastrow, lastcell); //셀을 저장하고 텍스트 모드로 전환 //또는 ===gt; ).jqGrid("restoreCell ", lastrow, lastcell); //셀을 복원하고 텍스트 모드로 전환합니다. var recs=$("#grid").jqGrid("getRowData"); 행 편집 모드의 경우 원칙은 동일합니다. , 편집 중인 행을 복원하거나 데이터를 메모리 1에 저장합니다. editRow 호출 시 oneditfunc 이벤트 핸들러 함수를 전달하여 편집 중인 행의 ID를 저장합니다. $('#list4').jqGrid('editRow', rowid, true, function (rowid) { window.rowid=rowid; }); 2. 데이터를 얻기 위해 getRowData를 호출하기 전에 편집 중인 데이터 행을 저장/복원합니다. jQuery("#grid_id").saveRow(rowid, false, 'clientArray' ); //==gt; 또는 복원 // jQuery("#grid_id").restoreRow(rowid); var recs=$("#grid").jqGrid("getRowData");