2012-08-29 29 views
0

我放置了dojo下拉按鈕裏面的jQuery UI對話框。 jquery ui對話框中沒有顯示按鈕的下拉列表,但創建了dojo按鈕。我通過設置z-index超過1000來支持。你對這個問題有任何建議嗎?dojo下拉按鈕裏面的jQuery UI對話框

這裏是我的代碼

//links for dojo library 
<script type="text/javascript"> 


//beginning of TraderView(CDS) Actions Button 

require(["dojo/ready", "dijit/form/DropDownButton", "dijit/DropDownMenu", "dijit/MenuItem", "dojo/dom"], function (ready, DropDownButton, DropDownMenu, MenuItem, dom) { 
    ready(function() { 

     //for document 
     var menu = new DropDownMenu(); 
     var menuItem1 = new MenuItem({ 
      label: "Export to Excel", 

      onClick: function() { alert('Export to Excel'); } 
     }); 
     menu.addChild(menuItem1); 

     var menuItem2 = new MenuItem({ 
      label: "Export to PDF", 
      onClick: function() { alert('Export to PDF'); } 
     }); 

     menu.addChild(menuItem2); 

     var menuItem3 = new MenuItem({ 
      label: "Term Sheet", 
      onClick: function() { alert('Term Sheet'); } 
     }); 

     menu.addChild(menuItem3); 

     var button = new DropDownButton({ 
      label: "Document", 
      name: "dcment", 
      dropDown: menu, 
      id: "tvButton" 
     }); 

     dom.byId("dropDownButtonDc").appendChild(button.domNode); 



     }); 


    }); 


//end of TraderView(CDS) Actions Button 
</script> 

回答

1

彈出z-index計算,每彈出,因爲你可以從彈出打開一個彈出,且該子女彈出應該是父彈出以上。你可以做的是設置_beginZIndexdijit/popup又名PopupManager - 即第一個彈出窗口的值 - 1005的值對jQuery UI對話框的工作很好。

一個工作的jsfiddle例如:http://jsfiddle.net/phusick/q8V58/

編輯:z-index: 1005似乎並不足夠後的對話是免打擾感動,所以我把有10000是安全的。

require([ 
    "dojo/ready", 
    "dojo/dom", 
    "dijit/popup", 
    "dijit/form/DropDownButton", 
    "dijit/DropDownMenu", 
    "dijit/MenuItem" 
], function(
    ready, 
    dom, 
    PopupManager, 
    DropDownButton, 
    DropDownMenu, 
    MenuItem 
) { 

    ready(function() { 

     // set z-index 
     PopupManager._beginZIndex = 1005; 

     var menu = new DropDownMenu(); 
     var menuItem1 = new MenuItem({ 
      label: "Export to Excel", 
      onClick: function() { alert('Export to Excel'); } 
     }); 

     var menuItem2 = new MenuItem({ 
      label: "Export to PDF", 
      onClick: function() { alert('Export to PDF'); } 
     }); 

     var menuItem3 = new MenuItem({ 
      label: "Term Sheet", 
      onClick: function() { alert('Term Sheet'); } 
     }); 

     menu.addChild(menuItem1); 
     menu.addChild(menuItem2); 
     menu.addChild(menuItem3); 

     var button = new DropDownButton({ 
      label: "Document", 
      name: "dcment", 
      dropDown: menu, 
      id: "tvButton" 
     }); 

     button.startup(); 
     button.placeAt(dom.byId("dropDownButtonDc")); 

     $("#dialog1").dialog({ title: "dialog1"}); 

    }); 
});​