我新发现了JQueryUI对话框。但它没有正确显示。我有一个div指定对话框 - 确认。正在使用是和否按钮设置对话框。它有一个标题。
当AJAX呼叫返回特定响应时,将显示该对话框。所以对话框声明如下:
if (data.result.Data.HasAssociatedGFM) {
var GFMvalue = data.result.Data.HasAssociatedGFM;
$("#dialog-confirm").dialog({
resizable: false,
//height: 500,
modal: true,
autoOpen: false,
buttons: {
"Yes": function () {
$("#HasGFM").val(GFMvalue);
$(this).dialog("close");
},
"No": function () {
$(this).dialog("close");
}
}
});
}
对话框div如下所示:
<div id="dialog-confirm" title="Has GFM?" style="display:none;text-align:center;
position: fixed;height:15%; width: 50%;top: 35%;left: 25%;/*margin-left: -190px;
margin-top: -100px;*/background-color: #ffffff;border: 2px solid #336699;padding: 0px;
z-index: 102;font-family: Verdana;font-size: 12pt; ">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;">
</span>
Is this a GFM End Item requirement?
</p>
</div>
div的显示设置为none,否则会在页面加载时显示。当AJAX调用返回正确的值时调用对话框函数,然后打开对话框;它显示标题和按钮;它执行按钮的功能;但是用户没有解释它的文字。我尝试更改div的高度,并更改对话框的高度。做前者没有区别;执行后者会缩小对话框的宽度,而不会增加高度或更改div的参数。
我去了JqueryUI教程网站,找到了所有可用的选项,但这没有帮助。我也查看过很多stackoverflow帖子,但没有一个分辨率有所不同。
答案 0 :(得分:0)
由于您使用的是autoOpen: false
,因此您需要致电open()以显示对话框。但更重要的是,你的内联css会覆盖对话框css并导致它无法正常工作。您的对话框初始化也在您的条件之内,但它应该在全局范围内。
<强> HTML 强>
<div id="dialog-confirm" title="Has GFM?">Is this a GFM End Item requirement?<span id="HasGFM"></span></div>
JQuery (将GFM值添加到span并打开对话框)
$("#HasGFM").text("47");
$("#dialog-confirm").dialog('open');
这是Fiddle Demo。注意:我没有使用条件来显示对话框,而是使用按钮单击。
答案 1 :(得分:0)
正如我解释的那样 http://www.experts-exchange.com/questions/28906222/Can't-get-the-the--jQuery-dialog-to-display.html
以上解决方案无效。
相反,除了“显示:无”之外,我从div中删除了所有内联样式,并将其他所有内容保持不变。现在它按预期工作。