2013-02-15 43 views
2

我試圖打開jQuery對話框 AJAX加載Fancybox窗口。jQuery UI對話框始終打開Fancybox窗口

在內容的fancybox我有以下腳本:

$('#firma_picker').load($('#firma_opener').attr('href')); 
$('#firma_picker').dialog({ 
       autoOpen: false, 
       title: 'Výber firmy', 
       width: 300, 
       height: 400, 
       modal: false, 
       draggable: false, 
       resizable: false 
      }); 



$('#firma_opener').click(function() { 
      $('#firma_picker').dialog('open'); 
      $('#firma_picker').dialog('moveToTop'); 

      return false; 
}); 

不幸的是,對話是總是打開的fancybox窗口後面。我嘗試將z-index設置更改爲.ui-dialog選擇器,但沒有運氣。我對'firma_picker'DIV也做了同樣的處理。

在我看來,Dialog DIV代碼總是附加到body上。所以我已經嘗試過appendTo指令tio將內容追加到Fancybox中的元素,但是這根本不起作用,並且Dilog總是附加到主體。

代碼應用於此HTML:

<div> 
     <label>Firma:</label><input type="text" name="nadpis" style="width: 325px; height: 14px;" placeholder="Kliknite na ikonu vyhľadávania vpravo" /> 
     <a id="firma_opener" href="<?php echo $this->baseUrl; ?>/admin/reklama/firmasearch"><img src="" alt="ikona vyhľadávania" /></a> <-- tu je ikona 
     <div id="firma_picker"></div> 
</div> 

我花了幾個小時,最近得到這個解決了,但我沒有任何更多的線索。有任何想法嗎 ?謝謝。 Ivan

PS:datecicker在Fancybox窗口中運行正常。

回答

4

的的fancybox容器有這些z-index值:

.fancybox-overlay { 
    z-index : 8010; 
} 

.fancybox-opened { 
    z-index : 8030; 
} 

的用戶界面對話框的默認z-index.ui-dialog)是1002

嘗試設置一個更高的z-index比的fancybox選擇你的用戶界面對話框選擇(S ),類似於:

.ui-dialog { 
    z-index : 9020 !important; 
} 

... 通知!important是很重要的;)

JSFIDDLE

+0

我覺得我做了所有這些嘗試了。但最後它在小提琴上工作,所以它必須工作。讓我用我的js/css做更多的培訓,我會讓你知道。謝謝 ! – Ivan 2013-02-16 12:57:34

+0

最後,這是我微不足道的錯誤:)我只是在錯誤的級別編輯css。這Z指數的東西做了這份工作,非常感謝! – Ivan 2013-02-16 17:07:59