jqugrid (jquery 그리드)에서 다음 함수 클로저를 사용하여 'retainedChanges'라는 변수에서 페이징 할 때 편집 내용을 유지합니다. 나는 자바 스크립트에서 좋은 연습을 위반하는 임;내 자바 스크립트 클로저가 올바르게 작성 되었습니까?
(function($){
이 방법 : 코드는 괜찮아 그냥 당신은 아마 인수로 jQuery를 받아 들여야하지만, 이것은 잘 작동 미래
(function($){
var retainedChanges;
retainedChanges = new Array();
$.retainChangesOnPaging = function(){
var changedCells = $('#grid').jqGrid('getChangedCells');
// loop over changedCells array, removing duplicates if you want to...
return retainedChanges.push(/* this is inside the loop; push current value to array*/);
....
}
$.getRetainedChanges = function(){
return retainedChanges;
}
})(jQuery);
왜 함수의 처음 두 줄을 결합하여'var retainedChanges = [];'가되지 않습니까? – mc10
몇 가지 제안 사항 :'new Array()'대신'[]'를 사용하고 관련이없는 경우 jQuery 객체에 저장하지 마십시오. – ThiefMaster