1
我試圖用組合字符串中的偵聽器顯示/隱藏ext.js(xtype:「compositefield」)。一切運作良好,除了複合區域的標籤不會隱藏。如何選擇整個複合字段DOM元素,以便我可以在其上使用.hide()/。show()?在Ext.js 3.4中隱藏/顯示帶有標籤的Ext.js複合字段
爲compositefield代碼:
xtype: 'compositefield',
labelStyle: 'width: 60px',
fieldLabel: 'Player 1',
id: "player_1_fields",
msgTarget: 'under',
items:[
{xtype: 'displayfield', value: 'Name',margins: '3 5 0 22'},
{xtype: 'textfield', name: 'props_name_1', width: 135},
{xtype: 'displayfield', value: 'Score',margins: '3 5 0 0'},
{xtype: 'numberfield', name: 'props_score_n1', width: 35}
]
爲聽衆代碼:
listeners: {
select: function(combo, record, index) {
if (combo.getValue() == "2")
{
Ext.getCmp("player_1_fields").getEl().hide();
}
else
{
Ext.getCmp("player_1_fields").getEl().show();
}
}
}
.up()來自Ext.js 4.1 –
不是,它也是3.4,它甚至在2.1文檔中。這裏是[鏈接到ExtJs 3.4中的Element.up方法](http://docs.sencha.com/ext-js/3-4/#!/api/Ext.Element-method-up) – sbgoran
對不起,快和錯假設,我得到了:TypeError:Ext.getCmpup(「..」)。up不是一個函數。必須使用元素,而不是getCmp。 (Ext.getCmp(「player_1_fields」)。getEl()。up('.x-form-item')。hide())。感謝您的幫助! –