模态对话框确认框文本消失

时间:2012-05-21 10:27:50

标签: jquery jquery-ui modal-dialog

我想知道是否有人可以帮助我。

我已将this图库页面放在一起。

使用每个图像下的图标,用户可以删除他们想要的任何图像。我没有立即删除图像,而是尝试实现模态确认对话框,因此用户可以选择取消删除。

我可以让onlick事件正常工作,但是单击时会询问用户是否要删除图像的文本会从对话框中消失。

我确实遇到了在页面加载时出现在页面顶部的对话框文本的问题。为了克服这个问题,我使用了以下内容:

我尝试添加以下内容以防止这种情况:

.hide{   display: none !important;   }  

<div id="dialog-confirm" class="hide" title="Delete This Image?"> 

所以我知道这个问题很可能是由这个引起的,但我不确定如何克服这两个问题。

我只是想知道某人是否能够看到这个并让我知道我哪里出错了。

非常感谢和问候

3 个答案:

答案 0 :(得分:1)

你没有提到你的代码,但我认为问题是这样的, 您的班级“.hide”正在正确申请,其中包含“display:none”。

但 您为早期代码中的“对话框确认”框定义了“display:block”属性“内嵌”。

和 定义“内联”的css属性始终优先于“”中定义的属性。

所以display:none会被“display:block”覆盖。

尝试通过“.addClass()/.removeClass()”或“内联”在两个位置提供属性 它可能会帮助你!!! bcoz它在同样的情况下对我有用



我也是这个领域的新手,所以如果我错了,其他人请让我纠正!!

答案 1 :(得分:0)

请在页面上删除以下样式定义。然后它会工作:

.hide{   display: none !important;   } 

您需要使用选项autoOpen: false定义对话框,并且需要在单击删除按钮(使用.live代码的地方)时使用open命令调用。请修改代码如下:

  $( "#dialog-confirm" ).dialog({
                resizable: false,
                modal: true,
                autoOpen: false
                buttons: {
                    "Delete image": function() {
                    var img = $(this).closest(".galleria-image").find("img"); 
                            // send the AJAX request
                    $.ajax({
                    url : 'delete.php',
                    type : 'post',
                    data : { image : img.attr('src'),  userid: "VALUE", locationid: "VALUE"},
                    success : function(){
                    img.parent().fadeOut('slow');
                    }
                    });
                    },
                    Cancel: function() {
                        $( this ).dialog( "close" );
                    }
                }
            }); 

    $(".btn-delete").live("click", function(){      
        $( "#dialog-confirm" ).dialog( "open" );
    return false;
    });

答案 2 :(得分:0)

您可以在对话框调用中传递选项autoOpen: false以隐藏它,直到调用它为止;

$( "#dialog-confirm" ).dialog({
    autoOpen: false
});

使用此选项后,对话框应从视图中隐藏,直到被调用。

此外,您已将.hide课程放在<style>..</style>代码之外,并且它出现在您的页面顶部。