带复选框且支持搜索功能的下拉列表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; } } },
上一篇: Kafka原生API