2014-06-09 4 views
1

내 페이지에는 데이터가 전달되어야하는 몇 가지 모달이 있습니다. 나는 this other question으로이 문제를 해결했으며, jQuery를 사용하고 있으며 실제로 도움이되었습니다.동적 버튼에서 모달로 특정 값 전달

$(document).on("click", ".edit", function() { 
    $(".modal-body #value").val($('.edit').data('id')); 
}); 

내 문제는 내 페이지가 동적으로 (모델에 따라 foreach 문에서) 버튼을 만들었습니다 때문에, 아무리 내가 클릭하는 버튼이 첫 번째 단추에서 값을 가져옵니다 없다는 것입니다 : 이것은 내가 지금 가지고있는 것입니다 . 대신 클릭 한 버튼에서 값을 가져 오는 방법.

나는 그들에게 모든 별도의 ID를 주려고 생각했지만 각 id에 대해 기능을 만들고 싶지 않습니다. 이 .on 메서드에 데이터 속성이 있지만 사용 방법에 대한 좋은 예를 찾을 수 없다는 것과 내 경우에는 제대로 작동하는지 알아 봅니다.

누구든지 의견이 있으면 매우 감사 할 것입니다. 고맙습니다!

답변

5
$(document).on("click", ".edit", function() { 
    // Use $(this) to reference the clicked button 
    $(".modal-body #value").val($(this).data('id')); 
}); 
+1

와우 나는 그렇게 쉽게 믿을 수 없다. 나는 항상 마법의 '이 말'을 잊어 버린다. 내가 곧 10 분 안에 받아 들일거야! – Bobo

+1

무승부에 나를 이겼다. – tjscience

1

this 키워드를 사용하여 클릭되는 버튼을 참조 할 수 있습니다.

$(document).on("click", ".edit", function() { 
    $(".modal-body #value").val($(this).data('id')); 
}); 
0

를 사용하여 부트 스트랩의 이벤트 : 다음을 시도해보십시오 show 인스턴스 메소드 인 경우

[show.bs.modal 이벤트] 즉시 발사 :

$('#your-modal').on('show.bs.modal', function (e) { 
    var btn = $(e.relatedTarget); 
    var id = btn.data('id'); 
    $("#value").val(id); 
}); 

http://getbootstrap.com/javascript/#modals의 "이벤트"절을 참조하십시오 라는. 클릭에 의해 발생한 경우 클릭 된 요소는 이벤트의 relatedTarget 속성으로 사용할 수 있습니다.

관련 문제