문제

jQuery UI 대화 상자 위젯을 사용하여 내 페이지에 팝업 화면을 표시하고 싶습니다.

이것을 구현하기 위해 나는 a가있다 <div class="popup-placeholder"> 내 페이지에. 실제로 페이지에 둘 이상이 있습니다 (솔루션에 차이가있는 경우)

버튼을 클릭하면 대화 상자를 초기화하고 '열기'입니다. 팝업의 초기화는 팝업의 내용을 얻기 위해 Ajax 호출을해야하기 때문에 조치 클릭 안에 있습니다. (클릭 이벤트에서 초기화를 시도했지만 작동하지 않았습니다. $('div.popup-placeholder').dialog(); )

    var popupContext = $('#' + contextControl.id + ' > .popup-placeholder');
    popupContext.html(formHtml);

    $(popupContext).dialog({
        bgiframe: true,
        modal: true,
        autoOpen: false,
        closeOnEscape: false,
        dialogClass: '',
        draggable: true,
        position: 'center',
        resizable: false,                                    
        width: 600
    });

액션 버튼을 클릭하면 양식이 표시되고 예상되는 작업을 수행합니다. 이제 팝업에 대화 버튼이 아니라 이벤트와의 또 다른 링크가있는 팝업에 면밀한 링크가 있습니다. 이게 ...

$('#popup-placeholder-61').dialog('close');

여기서 #popup-placeholder-61은 $ (popupContext)와 같습니다.

내가 지금 직면하고있는 문제는 팝업이 닫히면 동일한 작업 버튼에 팝업이 다시 표시되지 않는다는 것입니다. 문제는 그런 것 같습니다 <div class="popup-placeholder"> 마크 업에서 제거되었습니다.

다음 페이지에서 솔루션을 시도했지만 도움이되지 않았습니다.stackoverflow에서 jQuery 대화 상자가 닫힙니다

그래서 더 많은 도움이 필요합니다

도움이 되었습니까?

해결책 4

주요 문제는 내가 잘못된 위치에서 대화 상자를 찾고 있다는 것입니다.

자세한 내용은이 게시물을 참조하십시오 ...

jQuery 대화 상자 - 초기화 후 DIV가 사라집니다

다른 팁

내 문제가 해결되었지만 이전의 접근 방식이 작동하지 않는 이유를 조사 할 것입니다. 내가 이전에하고 있던 일은 다른 ID를 가진 여러 장소 보유자가 있었고, 그중 하나만 대화를 만들고 있다는 것이 었습니다. 일부 jQuery Selectors를 사용하여 대화 상자에 대한 적절한 DIV를 선택했으며 위에서 설명한대로 문제가있었습니다.

내가 지금 한 유일한 변화는 자리 표시 자 역할을하는 단일 DIV가 있다는 것입니다. 그리고 지금은 작동합니다. 또한 내 이벤트 밖에서 벌세를 초기화했습니다. 그래서 아마도 내 셀렉터와 관련이 있었을까요? 나는 더 많은 것을 시도 할 것이고 내가 발견하면 그것을 후속 조치로 게시 할 것입니다.

감사.

조금 어려움을 겪은 후, 나는 최고의 솔루션을 생각해 냈습니다. 대화 상자 대신 아래 줄을 사용하십시오 ( 'Close')

$('#popup-placeholder-61').dialog("destroy");

이를 통해 DIV는 위치를 유지할 수 있습니다

클릭 이벤트에서 초기화 코드를 제거 해보십시오. 모든 것을 다시 반창하려고 시도함으로써 두 번째 클릭으로 대화 상자를 열지 못하는 것일 수 있습니다 ... 마크 업을 만들어 "해결 된"비슷한 문제가있었습니다. 대화 상자가 열릴 때마다 대화 상자가 있습니다.

Ajax 비트의 문제는 클릭 이벤트에서 초기화를 제거하고 클릭 이벤트에 Ajax 컨텐츠를로드하고 대화 상자 ( 'Open')가있는 대화 상자를 표시하기 만하면됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top