Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ExtJS中过滤组合框_Javascript_Extjs_Combobox_Filter - Fatal编程技术网

Javascript 在ExtJS中过滤组合框

Javascript 在ExtJS中过滤组合框,javascript,extjs,combobox,filter,Javascript,Extjs,Combobox,Filter,我在应用程序中使用ExtJS的组合框构建了一个查询生成器 当用户从组合框中选择要搜索的字段时,他可以选择再添加两个组合框以缩小搜索范围 “我的组合框”的存储区有六项-当用户选择这六项中的一项时,如果他添加到另一个组合框中,则该特定项不应可供选择 我的想法是将combobox存储区放入一个变量中,并以某种方式删除第一个值,然后将其加载到新添加的combobox中 有什么简单的方法可以做到这一点吗 干杯 编辑 我做这个例子是为了使问题更容易理解 Ext.require('*'); Ext.defi

我在应用程序中使用ExtJS的组合框构建了一个查询生成器

当用户从组合框中选择要搜索的字段时,他可以选择再添加两个组合框以缩小搜索范围

“我的组合框”的存储区有六项-当用户选择这六项中的一项时,如果他添加到另一个组合框中,则该特定项不应可供选择

我的想法是将combobox存储区放入一个变量中,并以某种方式删除第一个值,然后将其加载到新添加的combobox中

有什么简单的方法可以做到这一点吗

干杯

编辑

我做这个例子是为了使问题更容易理解

Ext.require('*');

Ext.define('KeyValue', {
    extend: 'Ext.data.Model',
    fields: ['id', 'value']
})

Ext.onReady(function() {

    var options = [{
        id: 1,
        value: 'One'
    }, {
        id: 2,
        value: 'Two'
    }, {
        id: 3,
        value: 'Three'
    }, {
        id: 4,
        value: 'Four'
    }, {
        id: 5,
        value: 'Five'
    }, {
        id: 6,
        value: 'Six'
    }];

    var parent = new Ext.form.field.ComboBox({
        store: {
            model: KeyValue,
            data: options
        },
        forceSelection: true,
        editable: false,
        displayField: 'value',
        valueField: 'id',
        queryMode: 'local',
        listeners: {
            select: function(cmb, records) {
                var selected = records[0],
                    store = child.getStore(),
                    rec;

                rec = store.getById(selected.getId());
                store.remove(rec);
            }
        }
    });

    var child = new Ext.form.field.ComboBox({
        store: {
            model: KeyValue,
            data: options
        },
        forceSelection: true,
        editable: false,
        displayField: 'value',
        valueField: 'id',
        queryMode: 'local'
    });

    new Ext.form.Panel({
        width: 400,
        renderTo: document.body,
        items: [parent, child]
    });

});

你在问什么?如何过滤组合框,或者如何实现整个功能?如何过滤组合框是的,基于我编辑的问题之前的值。啊,非常好。非常感谢!