标签: jquery-ui-dialog

来自变量的jQuery UI对话框按钮

我有变量在jquery ui对话框中保存按钮的翻译标签.

我无法用变量本身填充按钮数组键,并且找不到任何方法让它将变量视为字符串.

translations['ok'] = 'ok';
translatinos['cancel'] = 'cancel';

// not working
jQuery('#foo').dialog({
    buttons:
    {
        translations['ok']: function() { alert('foo-ok'); },
        translations['cancel']: function() { alert('foo-cancel'); }
    }
});

// working
jQuery('#bar').dialog({
    buttons:
    {
        "Ok": function() { alert('bar-ok'); },
        "Cancel": function() { alert('bar-cancel'); }
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法让它与变量数组键一起使用?

javascript jquery localization jquery-ui jquery-ui-dialog

22
推荐指数
1
解决办法
1万
查看次数

打开对话框上的触发事件

我的对话框在div下定义

#dialogbox
Run Code Online (Sandbox Code Playgroud)

当对话框打开时,我想触发一个事件,使其警报打开.我使用的代码是:

$("#dialogbox").dialog({open: function(){
           alert("OPEN");
          }
});
Run Code Online (Sandbox Code Playgroud)

但是当对话框打开时,这似乎没有触发请帮助

jquery jquery-ui-dialog

22
推荐指数
2
解决办法
6万
查看次数

jQuery对话框弹出窗口

我试图让这个对话框弹出窗体显示在点击此链接但它不适合我.过去三个小时我一直在研究这个问题,这对我来说太令人沮丧了.

这是我的HTML:

<a href="#" id="contactUs">Contact Us</a>
<div id="dialog" title="Contact form">
  <p>appear now</p>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的JavaScript,这是在外部文件中:

$("#contactUs").click(function() {
  $("#dialog").dialog("open");
  return false;
});
Run Code Online (Sandbox Code Playgroud)

我使用过这些链接,但对我无济于事:

如果有想法请告诉我,非常感谢,谢谢.

jquery jquery-ui modal-dialog jquery-ui-dialog

21
推荐指数
4
解决办法
23万
查看次数

当jquery对话框打开时,窗口向上滚动

我试图使用jquery 1.4和jquery-ui-1.8rc3.custom.js打开模态jquery对话框

在所有浏览器中,对话框打开都没有问题,但在IE 7和6中,对话框打开后,窗口自动滚动到按钮...我尝试将窗口向上滚动回到模态位置但是非常不一致.打开模态后使用以下代码行

window.scrollTo($('#selector').dialog('option', 'position')[0],$('#selector').dialog('option', 'position')[1]);
Run Code Online (Sandbox Code Playgroud)

我注意到的一个奇怪的事情是,在我打开模态之后,页面变得巨大......好像一些额外的东西加在底部......它最终滚动到底部.任何想法为什么这可能是hapenning

在HTML中

<div id="selector">
</div>
Run Code Online (Sandbox Code Playgroud)

在document.ready

$('#selector').dialog({
  bgiframe: true,
  autoOpen: false,
  width: 100,
  height: 100,
  modal: true,
  position: 'top'
});
Run Code Online (Sandbox Code Playgroud)

在js

$('#selector').dialog('open');
Run Code Online (Sandbox Code Playgroud)

jquery scroll position jquery-ui-dialog

20
推荐指数
3
解决办法
3万
查看次数

jQuery UI模式对话框捕获所有按键,因此我无法在其中输入文本

我创建了带有表单的模态对话框(带有一些文本输入).我只是无法在文本框中输入文本.对话框阻止键盘输入.

这是我的简化示例:

<div id="modal-dialog">
    <label for="my-text">TRY to input text...</label>
    <textarea id="my-text" style="position:relative; z-index:1"></textarea>
</div>
<script type="text/javascript">
    var dialog = $('#modal-dialog').dialog({ modal: true });
</script>
Run Code Online (Sandbox Code Playgroud)

注意:您可能会问 - 为什么我提到了"position:relative; z-index:1"?因为它没有它工作正常.但由于设计,我无法删除它.

注意:非模态对话框也可以正常工作.

我正在使用jQuery 1.6.2 + jQuery UI 1.8.14

jquery-ui jquery-ui-dialog

20
推荐指数
2
解决办法
1万
查看次数

jquery:如果ul为空

好吧,我有一个jQuery对话框,其中有一个表单,我在我的智慧结束时试图弄清楚...让我看看我是否可以用语言表达我想要做的事情..

我有3个文本框. #apInterest,#apPayment#apPrincipal在正确的顺序.

我想要做的基本英语术语:

#apInterestif .val小于0或大于99.99的密钥上触发错误..否则检查ul#mylist它是否有li,如果没有.hide

#apPaymentif .val小于0的键盘上触发错误,否则检查列表是否li隐藏.

#apPrincipal 完全一样 #apPayment

我现在拥有什么

$('#apInterest').live("keyup", function(e) {
var parent = $('.inter').parents("ul:first");
if ($('#apInterest').val() < 0 || $('#apInterest').val() > 99.99) {
    $('.inter').remove();
    $('#mylist').append('<li class="inter">Interest Rate cannot be below 0 or above 99.99</li>');
    $('#popuperrors').show();
    $(this).addClass('error');
} else {
    $(this).removeClass('error');
    $('.inter').remove();
    alert(parent.children().text);
    if (parent.children().length == 0){
        $('#popuperrors').hide();
    }
}
});
Run Code Online (Sandbox Code Playgroud)

虽然我也试过了

if ($("#mylist :not(:contains(li))") ){
$('#popuperrors').hide();
} …
Run Code Online (Sandbox Code Playgroud)

jquery html-lists jquery-ui-dialog

20
推荐指数
2
解决办法
4万
查看次数

创建更严肃的jQuery错误对话框?

是否有一个jQuery UI类可用于创建比下面更严重的错误对话框?

替代文字

这是我们用来创建对话框的HTML:

<div style="display:none" id="div-dialog-warning">
    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span><div/></p>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是我们展示它的方式:

$("#div-dialog-warning").dialog({
    title: t,
    resizable: false,
    height: 160,
    modal: true,
    buttons: {
        "Ok" : function () {
            $(this).dialog("close");
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui modal-dialog jquery-ui-dialog

19
推荐指数
2
解决办法
3万
查看次数

jQuery UI:如何单独使用ui-widget-overlay?

我正在尝试创建一个覆盖,类似于jQuery UI Dialog使用的覆盖.我可以像这样创建叠加层:

var $overlay = $('<div class="ui-widget-overlay"></div>').hide().appendTo('body');

//...later in my script
$overlay.fadeIn();
Run Code Online (Sandbox Code Playgroud)

但是当我向下滚动时,叠加会中断.我注意到jQuery UI正在动态地设置该div的宽度和高度.所以我想重用这个功能而不是重新发明轮子.如何创建这样的叠加层,或者在jQuery UI中重用它?

解:

将叠加层的宽度/高度设置为文档的宽度/高度,然后在窗口调整大小事件上绑定一个函数以调整叠加宽度/高度以匹配新文档的宽度/高度:

$(document).ready(function(){
    var $overlay = $('<div class="ui-widget-overlay"></div>').hide().appendTo('body');

    $('.trigger').click(function(){
        $('div').slideDown();
        $('.ui-widget-overlay').fadeIn();
        setOverlayDimensionsToCurrentDocumentDimensions(); //remember to call this when the document dimensions change
    });

    $(window).resize(function(){
        setOverlayDimensionsToCurrentDocumentDimensions();
    });
});

function setOverlayDimensionsToCurrentDocumentDimensions() {
    $('.ui-widget-overlay').width($(document).width());
    $('.ui-widget-overlay').height($(document).height());
}
Run Code Online (Sandbox Code Playgroud)

请注意,只要文档的高度发生变化(添加元素,向下滑动动画元素等),您就需要调整叠加层的大小.

jquery jquery-ui jquery-ui-dialog

18
推荐指数
3
解决办法
5万
查看次数

如何判断是否有任何jquery对话框打开?

寻找一个通用案例解决方案来确定当前是否有任何jquery对话框(有多个).试过:

$(".ui-dialog-content").dialog("isOpen") === true
$(".ui-dialog").dialog("isOpen") == true
$(document).dialog("isOpen") == true
$("*").dialog('isOpen') == true
Run Code Online (Sandbox Code Playgroud)

没有任何成功.我希望".ui-dialog-content"可以正常工作,因为我显然可以关闭任何与该选择器打开的对话框,但事实并非如此.

jquery jquery-ui jquery-selectors jquery-ui-dialog

18
推荐指数
1
解决办法
2万
查看次数

jQueryUI Dialog + Firefox + ASP.Net =访问严格模式调用函数被审查

我有一个在IE和Chrome中运行良好的页面,但在Firefox和Opera中不起作用.当我说它不起作用时,我的意思是Submit按钮根本不做任何事情.它是一个有几个嵌套的页面,还有几个UpdatePanelsjQueryUI Accordions.

我有一个简单的div.

<div id="date-dialog" title="Date?">
    <label id="lblDate" for="txtDate">
        Please Enter Your The Date:
    </label>
    <input type="text" id="txtDate" class="text ui-widget-content ui-corner-all" />
</div>
Run Code Online (Sandbox Code Playgroud)

然后我有一些简单的代码将它变成一个对话框:

$('#date-dialog').dialog({
    autoOpen: false,
    modal: true,
    resizable: false,
    buttons: {
        "Submit": function () {
            __doPostBack('DateButton', $('#txtDate').val());
        },
        "Cancel": function () {
            $(this).dialog("close");
        }
    }
});

$('#txtDate').datepicker({ dateFormat: 'yy-mm-dd' });
Run Code Online (Sandbox Code Playgroud)

我也试过添加这个,这没有帮助,实际上不适用于模态对话框:

    open: function (type, data) {
        $(this).parent().appendTo("form");
    },
Run Code Online (Sandbox Code Playgroud)

在Firefox中我收到以下错误:

Error: TypeError: access to strict mode caller function is censored
Source File: http://ajax.microsoft.com/ajax/4.0/2/MicrosoftAjaxWebForms.debug.js …
Run Code Online (Sandbox Code Playgroud)

asp.net jquery postback jquery-ui-dialog

18
推荐指数
3
解决办法
9183
查看次数