2013-07-16 3 views
2

저는 꽤 오랫동안이 작업을 어지럽 혔습니다. 더 깊게 만들려면 더 많이 조정해야합니다. 내가 만든 가장 큰 이슈 ID는 생성 된 li 아이템이 생성 된 후에 올바르게 참조 할 수 있습니다.onComplete 콜백에서 새로 만든 DOM 객체를 참조하는 파인 업 로더

예를 들어 이미지를 업로드하면 새로운 li 항목이 만들어집니다. 그런 다음이 li 요소를 참조하여 다양한 변경 작업을 수행합니다. 엄지 손톱과 사용자 정의 버튼을 추가하는 등. 이 참조는 여러 가지 이유로 필요합니다.

대부분은 오류 출력 등을 삭제하는 데 문제가 없습니다.하지만 해당하는 li 요소에 대한 참조가 깨졌습니다. 나는 완료에 무엇을 말할 수에서

이 이것에 더 많은 데이터 없지만 숫자는 목록의 순서에 업로드 된 이미지를 표현입니다 내가 ID를 수집 할 수 있습니다에서

onComplete(String id, String name, Object responseJSON, XMLHttpRequest xhr) 

등이다. 출력리스트를 반영하는 내부 목록 일 가능성이 있습니다.

그래서 저는이 id를 li 요소 배열의 색인 id와 결합했습니다. 이로 인해 올바른 완성 된 li 요소를 찾아서 조작 할 수있었습니다.

이렇게 잘됩니다. 문제는 이미지를 삭제할 때입니다. 이미지가 삭제 된 다음 li 요소가 제거됩니다. 그러나 문제는 onComplete ID가 목록 내의 인덱스와 결혼하지 않는다는 것입니다.

내 이미지가 데이터베이스에 저장되거나 다른 이유로 사용자 정의 삭제 기능을 사용하고 있습니다. 나는 또한 목록을 prepoluating 때 같은 문제로 실행됩니다. 현재 목록의 사본을 정확히 같은 방식으로 관련 데이터로 미리 출력 할 계획입니다. 제가 fineuplader를 prepopulating에 대한 정보를 찾을 수 없습니다.

정확하게 새로 작성된 li 요소를 정확하게 참조 할 수있는 방법이 있습니까? 일단 그것은 대부분의 브라우저에서 일정합니까? 목록을 미리 채우는 가장 좋은 방법은 무엇입니까?

완전히 새로운 dom li 요소에 대한 oncomplete 처리기 내에서의 간단한 참조가 완벽 할 것입니다. 아니면 비슷한 것. 나는 그것이 존재하지 않는다고 놀랍다. 어쩌면 그것은 할 수 있지만 그것에 대한 정보를 찾을 수 없습니다. 내가 생각하는거야

감사

답변

1

당신은 FineUploaderBasic/코어를 기본 미세 업 로더 UI를 사용하고 있지 않습니다. 이 경우 파인 업로더가 관련 파일에 대해 생성하는 DOM 요소에서 핸들을 얻는 것은 매우 쉽습니다. 예를 들어, onComplete 콜백 :

.... 
onComplete: function(id, name, response, xhrOrXdr) { 
    var listItemEl = this.getItemByFileId(id);  
    // do something with this element 
} 

난 당신이 jQuery를 같은이 질문에 태그에도 불구하고, jQuery를 사용하지 않는 것 귀하의 예제 코드부터 비 jQuery를 예를 제공했습니다. ,

$('#myFineUploaderContainer').on('complete', function(event, id, name, response, xhrOrXdr) { 
    var $listItem = $(this).fineUploader('getItemByFileId', id); 
    // do something with this jQuery object 
}); 

참고 위의 예에서 정밀 업 로더 버전 3.6 이상이 노드 /는 HTMLElement를 반환합니다, 미세 업 로더 상태 : 경우에 당신은 jQuery를 플러그인, 코드를 다음과 같이 보일 것이다 사용 3.7 이상이면 예상 jQuery 객체를 반환합니다. 당신이 3.7을 사용하고 있다고 가정하고 위의 예를 썼습니다.

이 API 메서드 및 기타 API 메서드, 옵션 및 콜백에 대한 자세한 내용은 http://docs.fineuploader.com의 설명서를 참조하십시오.

+0

jQuery를 사용하여 죄송합니다. 와우.나는 그 날 이전에 물었 더라면 좋겠다고 생각한다!! – Shane

관련 문제