2012-11-26 135 views
1

我有一個jQuery發佈請求,對下拉事件進行更改,這個更改會在下拉下方呈現一個表單,這些全部在jQuery UI Dialog
之間完成呈現的表單只是有點長,用戶必須向下滾動以保存它。我不希望用戶向下滾動,位置應該稍微增加一點,也許是20px。更改UI對話框的位置jQuery

$("#dropdownid").change(function(){ 
    if($(this).val() == 1) 
    { 

     $.post("<?php echo Yii::app()->request->baseUrl . '/controller/model/'; ?>",$(this).serialize(), 
      function(data) { 
       $("#dialog").html(data); 
       $("#dialog").dialog("open"); 
      } 
     ); 
    } 
}); 

形式已經在中心因此,最好這是行不通的Change the position of a jquery dialog box after it loads發佈的其他用戶。

回答

2

有一些選項,也用於對話框的位置。看看:http://api.jqueryui.com/dialog/#option-position

這將設置對話框在中心和150px頂部。試試吧:

$("#dialog").html(data); 
$("#dialog").dialog({ position: [($(window).width()/2) - (dialogWidth/2), 150] }); 
$("#dialog").dialog("open"); 
+0

都能跟得上。它根本沒有嘗試製作一個大的色調直到750度,但根本不動。我可能在這裏做什麼錯誤。 –

+0

您應該在打開對話框之前添加該行。我已經編輯了答案。 – martinhodler

+0

好吧..奇怪,我很抱歉,這就是我所知道的.. – martinhodler

0

我有同樣的問題。什麼工作對我來說接下來的組合是:

\t $(function() { 
 
\t \t var _left = (window.innerWidth/2) - 250; 
 
\t \t $("#dv_TreePopup").dialog({ 
 
\t \t \t autoOpen: false, width: 500, height: 'auto', 
 
\t \t \t position: [_left, 50], 
 
\t \t \t create: function (event) { 
 
\t \t \t \t $(event.target).parent().css({ 'position': 'absolute', "left": _left, "top": 50 }); 
 
\t \t \t } 
 
\t \t }); 
 
     $("#dv_TreePopup").dialog("open"); 
 
\t });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script> 
 
<link href="https://code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css" rel="stylesheet"/> 
 
<div style="position: relative;"> 
 
\t <div id="dv_TreePopup" style="display: none;"> 
 
     Some content 
 
    </div> 
 
    
 
</div>