2014-03-31 2 views
0

삭제 모달 설정이 있습니다. 삭제하고자하는 모듈의 ID가 전달되고 모달의 '삭제'버튼으로 설정됩니다. 아래 코드는 나를 위해이 작업을 수행 : 내가 모달 내가 확신하는 경우 나 한테 물어 아래로 떨어질 것을 클릭 한 후 어떤이가하는 것은onclick 함수를 통해 설정된 id를 어떻게 변경합니까?

$(document).on("click", "#deleteModule", function() { 

     var id = $(this).data('id'); 
     $("#deleteModuleButton").attr('data-id', id); 

}); 

나 모듈에 의해 'X'를 클릭 할 수 있으며. X를 클릭하면 ID가 모달로 전달되므로 '확실합니다'를 클릭하면 올바른 모듈을 ID로 삭제합니다.

불행하게도 함수를 클릭 할 때마다 동일한 ID가 전달되는 것 같습니다. 페이지에 ID가 74, 75 및 76 인 경우 클릭 한 첫 번째 페이지를 삭제할 수 있습니다 (예 : '74'). 그러면 다른 모듈 (75, 76)에서 'X'를 클릭 할 때마다 첫 번째 삭제 (74)에서 설정 한 요소는 다음 요소에서 덮어 쓰지 않으므로 페이지를 새로 고치고 다시 시도하지 않으면 다른 모듈을 삭제할 수 없습니다.

내가 간과하고있는 onclick 기능에는 고유 한 것이 있습니까? 이것을 바로 잡을 수있는 방법이 있습니까? 내가 제대로 문제를 이해하고있는 경우

+0

요소를 가리키고 있으므로 항상 같은 값을 갖습니다. 클래스 선택기로 전환하고 싶습니까? 처럼 . deleteModule? –

+0

HTML을 보여줄 수 있습니까? 페이지에서'# deleteModule'을 두 번 이상 사용하지 않으셨습니까? – Charlie74

+0

'.data ("id")'를 설정하는 코드를 볼 수 있습니까? – Digzol

답변

0

이었다

var id = $(this).data('id'); 

더 나은이 작업을 수행하기위한 것이었다는 다음과 같습니다

var id = $(this).attr('data-id', id); 

전자는 같은 값을 결합, 후자는하지 않습니다 할 수있는 반면 재사용. 반복되는 모든 인스턴스에서이 줄을 변경하면 모든 문제가 해결되었습니다!

0

, 당신은 같은 것을 할 시도 할 수 있습니다 :

$(document).on("click", "#deleteModule", function() { 

    var id = this.data('id'); 

    showConfirmClosePrompt(id); // Re-factor to use across all modals 

}); 

그 방법을, 당신은 당신의 X를 클릭 무엇 모달 ID에 상관없이 ID가없는 것입니다. var id = $(this).data('id');이 실제 문제인지 확인하고 싶을 수도 있습니다. 이에 대한 대답은 성명에서

관련 문제