2012-08-28 5 views
0

대화 상자를 초기화 한 후 강제로 닫으려고합니다. 이jquery UI 대화 상자가 닫을 때 리디렉션

$("#myDialog").dialog({ 
    width: 960, 
    hide: 'slide', 
    position: 'top', 
    show: 'slide' 
}); 

나는 위의 코드에 이벤트를 부착하고 있지 않다 이유 것은 내가 대화 상자가 항상 가까이에 리디렉션 할 수 없다는 것입니다 대화 상자가 처음 생성하는 방법이다. 리디렉션이 수동으로 발생하기를 원합니다. 대화 상자가 표시된 후에이 코드를 사용하려고하는데 작동하지 않습니다.

$('#myDialog').dialog('option', 'close', function(event, ui) { ... }); 

:

$("#myDialog").dialog({ 
     close: function(event, ui) { location.href = 'whatever.html' } 
    }); 
+1

이 기능을 대화 상자에 바인딩해야합니다. 대화 상자가 이미 표시되어있는 경우 대화 상자에 동적으로이를 알릴 수 없습니다. 설명서의 축 어적 인 예제를 사용하고있는 것처럼 보이므로 동일한 데모에서 bind 예제를 사용하십시오. – Ohgodwhy

+0

@Ohgodwhy : 가능합니다. 모든 jQuery UI 위젯은 이미 존재하는 위젯의 변경 옵션에 대해 옵션 메소드 ('$ (x) .dialog ('option', ...)')를 지원합니다. –

+0

@muistooshort 죄송하지만, 틀 렸습니다. 대화 상자가 이미 열려 있으면 열려있는 대화 상자의 메쏘드를 변경할 수 없습니다.'다음에 열리는 대화 상자에는 그 메쏘드가 있습니다. '그러나 당신은'이미 열려있는 대화 상자에 메쏘드를 추가 할 수 없습니다.' 어서 시도해보십시오. 너의 발견을 알려줘. – Ohgodwhy

답변

1

당신은 기존 jQuery를 UI 위젯에 옵션을 변경하려면 option method을 사용할 수 있습니다, 이미이 같은 JQuery와 대화 상자를 생성하기 위해이 이벤트를 바인드해야 데모 : http://jsfiddle.net/ambiguous/nuGqK/

모든 대화 상자 옵션에서 작동합니다.

2

당신은

$("#myDialog").bind("dialogclose", function(event, ui) { 
location.href = 'whatever.html' ; 
}); 
+0

Great Thanx !!!!! –

관련 문제