Dialog不会自动执行

时间:2014-06-16 09:38:45

标签: javascript jquery css jquery-ui jquery-ui-dialog

我使用jQuery UI中的对话框。在我的网站上,对话框的内容正在动态变化(自定义文本的自动填充)。我已经在对话框中设置了css max-height: 90%;,因此在长内容上,对话框应该完全可见。但是,当生成动态内容为自动完成时,对话框会调整大小,但仍然处于相同位置,因此40%的内容不可见,它在屏幕外。如何解决这个问题,当生成长内容时,对话框将自动定位到屏幕中间?

编辑1:

以下是我网站上代码的一小部分:

$.ajax({
    cache: false,
    type: 'GET',
    'url': URL_SAVE.expandVariables({}, {
       'pres': self
    }),
    success: function(data) {
       var label = $('<label>Open file:<label>').appendTo(dialogElement);
       dt = data;
       input = $('<input type="text" />').appendTo(dialogElement).autocomplete({
          source: data,
          autoFocus: true,
          minLength: 0
       });
       dialog.open();
    }
 });

这是演示,与原始jsFiddle

非常相似

编辑2:

这是对话框的初始化代码:

var dialogElement = $('<div></div>'),
    input, dt, self = {
       serverEditor: server('editor')
    }, dialog = new Dialog(dialogElement, 'Open', {
       'saveable': 'Open',
       'width': 400,
       'saveOnlyIf': function() {
          return dt.has(input.val());
       },
       'ifNotSaved': function() {
          alert('Please choose correct file name!');
       }
    }).on('save', function() {
       $.ajax({
          'type': 'GET',
          'url': URL_SAVE.expandVariables({}, {
             'pres': self
          }) + input.val(),
          'success': function(data) {
             Presentation.unserialize(data);
          }
       });
    });

0 个答案:

没有答案