【问题标题】:Ext Component Query Selector formats & optionsExt 组件查询选择器格式和选项
【发布时间】:2014-10-15 16:52:53
【问题描述】:

我也是 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   

或任何类似的东西,应该可以。请清除我在 option[1,2,3] 中做错了什么,因为大多数帖子都说使用 id[option 4] 是不好的。我们如何使用 [name^=] “表示任何以 people_ 开头的元素”来实现。 Ext可以吗?是否可以通过 REGEX?(仅供参考)

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

【问题讨论】:

    标签: javascript jquery extjs sencha-touch-2


    【解决方案1】:

    您可以为所有与人员相关的文本文件组件添加一个额外的配置,例如 type:'people',而不是寻找正则表达式,您可以使用

     var allPeopleComponents = Ext.ComponentQuery.query('textfield[type=people]');
    

    上面将返回具有type='people' 的组件数组。

    请查看 here 并更好地了解 ComponentQuery 选项 here

    希望对你有帮助。

    【讨论】:

    • 感谢您的回答。它对我帮助很大,但我仍然坚持为什么 Ext.ComponentQuery.query('textfield') 在结果集中显示 'xtype:hiddenfield',但是当我通过 hiddenfield 时,它只显示 hiddenfield?有什么想法吗?
    • @AakashSahai 尝试优化您的查询。您到底想要什么?
    猜你喜欢
    • 2014-04-22
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2019-01-22
    • 2012-07-20
    • 2018-07-27
    相关资源
    最近更新 更多