首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extjs4 fieldset.show()和fieldset.hide()不是函数问题

Extjs4 fieldset.show()和fieldset.hide()不是函数问题
EN

Stack Overflow用户
提问于 2014-10-10 08:41:24
回答 1查看 432关注 0票数 0

我在字段集、显示和隐藏函数方面有问题。在我的应用程序的左边,我有一个组合框与变化侦听器。在右边,我有几个不同的文本框,它们根据组合框中选定的值显示和隐藏。每个隐藏和显示函数都使用字段集,但是如果我不能显示/隐藏字段集的话。Fieldset引用是可见的,我可以用console.log()函数列出这个组件。

下面是我的一段代码:

代码语言:javascript
复制
var rigthPanelLeftContainer = {
        flex: 1,
        minWidth: 200,
        defaults: {
            xtype: 'textfield',
            minWidth: 180,
            anchor: '100%'
        },
        items: [
//some working textfields here 
{

      xtype: 'fieldset',
      labelWidth: 160,
      anchor: '100%',
      height: 40,
      itemId: 'remarkId',
      title: 'title'],
      hidden : !ifHideIt, //boolean
                    items: [{
           xtype: 'text',
           height: 25,
           text: 'sometext']
        }]
 }
]};

 var comboBoxConnectors = {
        xtype: 'combobox',
        fieldLabel: Ext.translations.map['field.label.common'],
        store: Ext.state.Manager.get('conTypes'),
        editable: false,
        queryMode: 'local',
        name: 'conType',
        itemId: 'conTypeField',
        value: connObj === null ? conTypes[0] : connObj.type,
        labelWidth: 160,
        anchor: '100%',
        listeners: {
            change: function(obj, newValue, oldValue) {

             //many hide/show working on textfield functions

             var remarkId = me.query('#remarkId');
             console.log(remarkId); //returns my fieldset element
             remarkId.hide(); //returns remarkId.hide is not a function
        }
 }
 }

我真的需要你们的帮助,伙计们,这有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 11:40:19

在您的代码中,您有一个注释,它说me.query( '#remarkId‘)返回您的字段集元素。这在技术上是不正确的。假设me.query()是一个组件查询,那么您实际上得到的是一个匹配的组件数组。因此,您将得到未定义的函数错误,因为最明确的是,数组没有隐藏()方法。如果您访问数组中的第一个元素,然后调用hide()方法,那么它应该可以工作。

然而,您可能也应该考虑采取一些不同的做法。您可以使用内置的遍历方法来查找正确的组件,而不是使用query() (可能总是一个,但不一定是.)的元素数组。例如,假设combobox和字段集都是同一个窗体面板的子级,您可以这样做: mycombobox.up( ' form‘).down( 'fieldset#remarkId’)。这基本上指示代码遍历组件层次结构到最近的表单,然后深入到表单的第一个子代,即具有“itemId of”"remarkId“的字段集。因此,这只会给您提供一个组件,因此您不必费心从组件数组中访问组件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26295268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档