[Javascript] مربع حوار واجهة المستخدم مسج - لا تفتح بعد إغلاقها


Answers

مرحبا الرجال تمكنت من حلها.

لقد استخدمت تدمير وظيفة قريبة بدلا من ذلك (لا يجعل أي معنى) لكنها عملت!

$(document).ready(function() {
$('#showTerms').click(function()
{
    $('#terms').css('display','inline');
    $('#terms').dialog({resizable: false,
        modal: true,
        width: 400,
        height: 450,
        overlay: { backgroundColor: "#000", opacity: 0.5 },
        buttons:{ "Close": function() { $(this).dialog('**destroy**'); } },
        close: function(ev, ui) { $(this).close(); },
    });         
});   
$('#form1 input#calendarTEST').datepicker({ dateFormat: 'MM d, yy' });
});
Question

لدي مشكلة مع jquery-ui dialog box .

المشكلة هي أنه عندما أغلق مربع الحوار ثم انقر على الرابط الذي يؤدي ذلك، فإنه لا المنبثقة مرة أخرى إلا إذا تحديث الصفحة.

كيف يمكنني استدعاء مربع الحوار مرة أخرى دون تحديث الصفحة الفعلية.

أدناه هو رمز بلدي:

$(document).ready(function() {
    $('#showTerms').click(function()
    {
        $('#terms').css('display','inline');
        $('#terms').dialog({
            resizable: false,
            modal: true,
            width: 400,
            height: 450,
            overlay: { backgroundColor: "#000", opacity: 0.5 },
            buttons:{ "Close": function() { $(this).dialog("close"); } },
            close: function(ev, ui) { $(this).remove(); },
    }); 
});

شكر







يمكنني استخدام مربع الحوار كمتصفح ملف الحوار وتحميل ثم إعادة كتابة التعليمات البرمجية من هذا القبيل

var dialog1 = $("#dialog").dialog({ 
              autoOpen: false, 
              height: 480, 
              width: 640 
}); 
$('#tikla').click(function() {  
    dialog1.load('./browser.php').dialog('open');
});   

كل شيء يبدو أن العمل كبيرة.




 <button onClick="abrirOpen()">Open Dialog</button>

<script type="text/javascript">
var $dialogo = $("<div></div>").html("Aqui tu contenido(here your content)").dialog({
       title: "Dialogo de UI",
       autoOpen: false,
       close: function(ev, ui){
               $(this).dialog("destroy");
       }
 function abrirOpen(){
       $dialogo.dialog("open");
 }
});

//**Esto funciona para mi... (this works for me)**
</script>



$(this).dialog('destroy');

يعمل!




أعتقد أنه يمكنك تهيئة الحوار مرة واحدة فقط. يحاول المثال أعلاه تهيئة مربع الحوار في كل مرة يتم فيها النقر على #terms. هذا سوف يسبب مشاكل. بدلا من ذلك، يجب أن يحدث التهيئة خارج حدث النقر. من المفترض أن يبدو مثالك مثل هذا:

$(document).ready(function() {
    // dialog init
    $('#terms').dialog({
        autoOpen: false,
        resizable: false,
        modal: true,
        width: 400,
        height: 450,
        overlay: { backgroundColor: "#000", opacity: 0.5 },
        buttons: { "Close": function() { $(this).dialog('close'); } },
        close: function(ev, ui) { $(this).close(); }
    });
    // click event
    $('#showTerms').click(function(){
        $('#terms').dialog('open').css('display','inline');      
    });
    // date picker
    $('#form1 input#calendarTEST').datepicker({ dateFormat: 'MM d, yy' });
});

أنا أفكر أنه بمجرد مسح ذلك، فإنه يجب إصلاح "فتح من الرابط" المسألة التي وصفتها.