2012-06-21 2 views
0

Я знаю, что на нем есть несколько сообщений, но я все еще не могу понять это правильно. Я пробовал так много комбинаций. Я пытаюсь создать диалоговое окно, когда вы нажимаете кнопку. Внутри диалогового окна есть форма, но это не важно сейчас. Я могу открыть диалоговое окно, но не во втором клике. Вот то, что я прямо сейчас:jQuery модальный диалог отображается только раз

var $dialog = $('#cameraform').dialog({ 
    modal:true, 
    autoOpen: false, 
    resizable:false, 
    width: 625, 
    close: function() { 
     $(this).remove(); 
    } 
}); //init dialog 

//events    
$('.addwebcam').click(function(e) { 
    $dialog.dialog('open'); 
}); 

HTML:

<button class="addwebcam">Add Webcam</button> 
<div id="cameraform" title="Add a camera"> 
...//my form 
</div> 

Я также попытался инициализировать диалог в случае щелчка, но это не работает. Что я делаю не так.

+0

Попробуйте предоставить демонстрацию на [jsfiddle.net] (http://jsfiddle.net) – Dhiraj

+1

Что делать, если вы меняете '[...] close: function() {$ (this) .remove(); } [...] 'to' [...] close: function() {$ dialog.dialog ('close'); } [...] '? – MilkyWayJoe

+1

http://jsfiddle.net/jaspermogg/tbsuh/ –

ответ

4

Не эта строка кода

$ (это) .remove();

удаление вашего диалогового окна из DOM?

Я думаю, чтобы закрыть диалоговое окно, вы будете использовать:

$ (это) .dialog ("близко");

+0

.dialog («close») определенно решит проблему – Dimitri

+0

, по какой-то причине это приведет к сбою Firefox 13.0. 1 ужасно ... –

+0

Geez, даже не посмотрел на это. Но теперь он не закроет диалог вообще. Но скрипка, похоже, работает нормально. – Tom