欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

带复选框且支持搜索功能的下拉列表1(1--14) EXT

程序员文章站 2022-03-26 21:38:48
...
//定义record
var rec;
Ext.form.MultiComboBox = Ext.extend(Ext.form.TriggerField, {
    defaultAutoCreate : {tag: "input", type: "text", size: "24", autocomplete: "off"},
    listClass: '',
    selectedClass: 'x-combo-selected',
    triggerClass : 'x-form-arrow-trigger',
    shadow:'sides',
    listAlign: 'tl-bl?',
    maxHeight: 300,
    triggerAction: 'query',
    minChars : 4,
    typeAhead: false,
    queryDelay: 500,
    pageSize: 0,
    selectOnFocus:false,
    queryParam: 'query',
    loadingText: 'Loading...',
    resizable: false,
    handleHeight : 8,
    editable: true,
    allQuery: '',
    mode: 'remote',
    minListWidth : 70,
    forceSelection:false,
    typeAheadDelay : 250,
    displaySeparator:';',
    valueSeparator:',',
    lazyInit : true,

    initComponent : function()
    {
        Ext.form.ComboBox.superclass.initComponent.call(this);
        this.addEvents('expand', 'collapse', 'beforeselect', 'select', 'beforequery');
        if (this.transform)
        {
            this.allowDomMove = false;
            var s = Ext.getDom(this.transform);
            if (!this.hiddenName)
            {
                this.hiddenName = s.name;
            }
            if (!this.store)
            {
                this.mode = 'local';
                var d = [], opts = s.options;
                for (var i = 0, len = opts.length; i < len; i++)
                {
                    var o = opts[i];
                    var value = (Ext.isIE ? o.getAttributeNode('value').specified : o.hasAttribute('value')) ? o.value :
                            o.text;
                    if (o.selected)
                    {
                        this.value = value;
                    }
                    d.push([value, o.text]);
                }
                this.store = new Ext.data.SimpleStore({
                    'id': 0,
                    fields: ['value', 'text'],
                    data : d
                });
                this.valueField = 'value';
                this.displayField = 'text';
            }
            s.name = Ext.id(); // wipe out the name in case somewhere else they have a reference
            if (!this.lazyRender)
            {
                this.target = true;
                this.el = Ext.DomHelper.insertBefore(s, this.autoCreate || this.defaultAutoCreate);
                Ext.removeNode(s); // remove it
                this.render(this.el.parentNode);
            }
            else
            {
                Ext.removeNode(s); // remove it
            }

        }
        this.selectedIndex = -1;
        if (this.mode == 'local')
        {
            if (this.initialConfig.queryDelay === undefined)
            {
                this.queryDelay = 10;
            }
            if (this.initialConfig.minChars === undefined)
            {
                this.minChars = 0;
            }
        }
    },
  • foo.rar (646 Bytes)
  • 下载次数: 10
相关标签: EXT