2010-01-11 15 views
1

我正在使用日期選擇器,但我對它決定將日期選擇器放在屏幕上的位置有點困惑。在一個屏幕上它很好,但在另一個屏幕上,它被卡在隱藏在閃存對象後面。我可以強制它附加到點擊按鈕的地方的右下角嗎?我在尋找firebug,它似乎只是隨機左和底部變量在CSS中,我不知道他們從哪裏拉。謝謝日期選擇器在extjs中的定位

回答

1

在試圖重新定位日期字段的菜單之前,嘗試將Flash對象的'wmode'屬性設置爲'opaque'。根據Flash對象的嵌入方式,這應該允許菜單出現在它上面。

如果你仍然想強制菜單的新對準的位置,然後嘗試重寫的DateField實例的onTriggerClick方法:

new Ext.form.DateField({ 
    fieldLabel: 'Choose a date', 
    onTriggerClick: function() { 
     Ext.form.DateField.prototype.onTriggerClick.call(this); 
     this.menu.show(this.el, 'tl-br?'); 
    } 
}); 

這對齊的與右下角菜單的左上角領域的。請參閱Ext.Element.alignTo的文檔以獲取其他可能的值以傳遞給show方法的第二個參數。

這是一個黑客,因爲它導致菜單的show方法被調用兩次,但替代方法是重寫onTriggerClick在第一次調用時傳遞您選擇的位置。

+0

完美!簡單和不顯眼的解決方案,一個很好的選擇。 Wmode工作了^ _ ^ – 2010-01-13 23:19:59

0

在版本> = 4.0.0中,使用pickerAlign屬性。

例如:約上看到的Ext.Element.alignTo對文檔的pickerAlign工作原理的解釋owlness

{ 
    xtype: 'datefield', 
    fieldLabel: 'Date', 
    pickerAlign: 't-br?' 
} 

建議仍然有效。

相關問題