Javascript Ext组件查询选择器格式&;选择权

Javascript Ext组件查询选择器格式&;选择权,javascript,jquery,extjs,sencha-touch-2,Javascript,Jquery,Extjs,Sencha Touch 2,我也是Sencha Touch 2和Ext的新手。我有jquery方面的知识,所以为了快速理解,我只讲述了一些类似的事情,但却陷入了选择器查询 我正在创建动态文本字段,如: var autoSuggestField = 'people_' + counter; // suppose counter is looping 5 times var field = new Ext.field.Text({ name: autoSuggestField, itemId

我也是Sencha Touch 2和Ext的新手。我有jquery方面的知识,所以为了快速理解,我只讲述了一些类似的事情,但却陷入了选择器查询

我正在创建动态文本字段,如:

var autoSuggestField = 'people_' + counter;  // suppose counter is looping 5 times
var field =  new Ext.field.Text({
        name: autoSuggestField,
        itemId: 'testing',                   // just for testing
        // itemId: autoSuggestField,         // actual code
        inputCls:'auto-suggest',
        placeHolder:'Select People',
        cls:'place-holder',
        listeners: {
            clearicontap:function(obj, e, eOpts) {
                // tried option 1
                var allPeople = Ext.ComponentQuery.query('.place-holder .auto-suggest');
                console.log(allPeople);           // console says '[]'

                // tried option 2
                var allPeople = Ext.ComponentQuery.query('.place-holder');
                console.log(allPeople);           // console says '[]'

                // tried option 3
                var allPeople = Ext.ComponentQuery.query('.auto-suggest');
                console.log(allPeople);           // console says '[]'

                // tried option 4
                var allPeople = Ext.ComponentQuery.query('#testing');
                console.log(allPeople);           // console says '[class , class, class]'
            }
        }
    });
但我在寻找一些东西:

// var allPeople = Ext.ComponentQuery.query('[name^=people_]');    // as we do jquery   
或者类似的东西,应该可以用。请澄清我在选项[1,2,3]中做错了什么,因为大多数帖子都说使用id[4]是不好的。我们如何使用[name^=]”来实现这个目标,它表示任何以“人”开头的元素。在外线可以吗?通过正则表达式可以吗?(只是为了一个想法)


请添加解释以更好地理解选择器。

您可以为所有与人员相关的文本字段组件添加一个额外的类似配置的类型:'people',而不是查找常规表达式,您可以使用

 var allPeopleComponents = Ext.ComponentQuery.query('textfield[type=people]');
上面将返回具有
type='people'
的组件数组

为了更好地理解ComponentQuery选项,请查看和


希望对您有所帮助。

谢谢您的回答。这对我帮助很大,但我仍然很困惑,为什么Ext.ComponentQuery.query('textfield')在结果集中显示'xtype:hiddenfield',但当我传递hiddenfield时,它只显示hiddenfield?有什么想法吗?@AakashSahai试图改进您的查询。您到底想要什么?