1

假设我有一个示例字段集,如下所示:

+---| Customer Types | --------------------------+
|                                                |
|   +----------+    +----------+   +---------+   |
|   |  Trader  |    |  Horeca  |   |   SCO   |   |
|   +----------+    +----------+   +---------+   |
|                                                |
+------------------------------------------------+

该字段集有三个按钮,它们正在打开一个新窗口。当员工单击其中一个按钮时,他/她应该填写一些必要的字段。填写表格后,他/她将单击submit发布记录按钮。到目前为止没有问题。

我想做的是,员工填写表格并单击submit打开窗口的按钮,我应该禁用其他按钮以防止重复记录。

以下是问题:

  • ExtJS 中是否有任何方法可以选择字段集的子元素?
  • 或者,您是否有任何建议/示例代码来选择子元素以禁用我在上面指定的那些按钮?
4

2 回答 2

1

您将需要使用Ext.ComponentQuery. down()如果您使用、up()query()方法,这将内置于每个组件中。

要得到你想要的,请执行以下操作:

var buttons = myFieldSet.query('button');
for (var i=0; i<buttons.length; i++)
    buttons[i].disable();

从此处的文档中了解更多信息:http ://docs.sencha.com/extjs/4.2.1/#!/api/Ext.ComponentQuery

于 2013-07-19T17:53:05.457 回答
1

ExtJS 提供了一个ComponentQuery类,可以让您在页面的任何位置查找任何组件。此外,为了方便容器组件,添加了一些 CQ 方法,例如 down() 方法。使用它,您可以找到包含在您的字段集中的组件。您可以按 xtype、itemId 或组件的任意属性进行搜索。

For Components:
    • Ext.getCmp(id)
    • Ext.ComponentQuery.query()
    • up() 
    • down() 
    • nextSibling() 
    • previousSibling()
    • child()
    • previousNode()
plus various find.. Methods

For Elements:
    • Ext.get()
    • Ext.dom.Query() (more on DOM Query http://docs.sencha.com/core/manual/content/domquery.html
于 2013-07-19T17:53:43.180 回答